13228 lines
533 KiB
Plaintext
13228 lines
533 KiB
Plaintext
#
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: REA website\n"
|
||
"Language: fa\n"
|
||
"MIME-Version: 1.0\n"
|
||
"Content-Type: text/plain; charset=UTF-8\n"
|
||
"Content-Transfer-Encoding: 8bit\n"
|
||
"X-Initial-Translation: Machine-assisted baseline; see website/locales/README.md for review workflow\n"
|
||
|
||
#: website/public/blog/index.html:99
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../">
|
||
#. {ph1}: </a>
|
||
#: website/public/blog/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:blog/index.html"
|
||
msgid "{ph0}Home{ph1} / Blog"
|
||
msgstr "{ph0}خانه{ph1} / وبلاگ"
|
||
|
||
#: website/public/blog/index.html:182
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Blog."
|
||
msgstr "وبلاگ."
|
||
|
||
#: website/public/blog/index.html:183
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Thoughts on reverse engineering."
|
||
msgstr "افکار در مهندسی معکوس."
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/blog/index.html:187
|
||
#, python-brace-format
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Game reconstruction{ph0}Essay"
|
||
msgstr "بازسازی بازی{ph0}مقاله"
|
||
|
||
#: website/public/blog/index.html:189
|
||
msgctxt "page:blog/index.html"
|
||
msgid "The industrial revolution in reverse engineering"
|
||
msgstr "انقلاب صنعتی در مهندسی معکوس"
|
||
|
||
#: website/public/blog/index.html:190
|
||
msgctxt "page:blog/index.html"
|
||
msgid ""
|
||
"What manual RE and reconstructing TH08, TH095 and TH04 taught me about "
|
||
"agents, verification and knowledge that compounds across projects."
|
||
msgstr ""
|
||
"چه دستی دوباره و بازسازی TH08, TH095 و TH04 به من آموخت در مورد عوامل, تأیید"
|
||
" و دانش است که ترکیبات در سراسر پروژه."
|
||
|
||
#: website/public/blog/index.html:195
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Read the article"
|
||
msgstr "مقاله را بخوانید"
|
||
|
||
#: website/public/blog/index.html:198
|
||
msgctxt "page:blog/index.html"
|
||
msgid "By N0zoM1z0 · 10 October 2026"
|
||
msgstr "توسط N0zoM1z0 * 10 اکتبر 2026"
|
||
|
||
#. {ph0}: <span aria-hidden="true">
|
||
#. {ph1}: </span>
|
||
#: website/public/blog/index.html:217
|
||
#: website/public/blog/touhou-reconstruction/index.html:1067
|
||
#: website/public/examples/dino-lab/index.html:462
|
||
#: website/public/faq/index.html:560
|
||
#: website/public/first-investigation/index.html:510
|
||
#: website/public/get-started/index.html:869
|
||
#: website/public/guides/browser/index.html:485
|
||
#: website/public/guides/index.html:269
|
||
#: website/public/guides/javascript/index.html:490
|
||
#: website/public/guides/native/index.html:496 website/public/index.html:1173
|
||
#: website/public/showcase/aegis/index.html:795
|
||
#: website/public/showcase/ctf/index.html:764
|
||
#: website/public/showcase/dx-ball/index.html:772
|
||
#: website/public/showcase/index.html:304
|
||
#: website/public/showcase/notion/index.html:618
|
||
#: website/public/showcase/th04/index.html:787
|
||
#, python-brace-format
|
||
msgctxt "shared"
|
||
msgid "{ph0}↑{ph1} Top"
|
||
msgstr "{ph0}↑{ph1} بالا"
|
||
|
||
#: website/public/blog/index.html:6
|
||
msgctxt "page:blog/index.html"
|
||
msgid "REA Blog — Thoughts on Reverse Engineering"
|
||
msgstr "وبلاگ REA-افکار در مهندسی معکوس"
|
||
|
||
#: website/public/blog/index.html:7
|
||
msgctxt "page:blog/index.html"
|
||
msgid ""
|
||
"Thoughts on reverse engineering, drawing on practical experience with REA "
|
||
"and AI agents."
|
||
msgstr ""
|
||
"افکار در مهندسی معکوس ، با استفاده از تجربه عملی با REA و عوامل هوش مصنوعی."
|
||
|
||
#: website/public/blog/index.html:75 website/public/blog/index.html:88
|
||
#: website/public/blog/touhou-reconstruction/index.html:75
|
||
#: website/public/blog/touhou-reconstruction/index.html:88
|
||
#: website/public/examples/dino-lab/index.html:75
|
||
#: website/public/examples/dino-lab/index.html:88
|
||
#: website/public/faq/index.html:75 website/public/faq/index.html:88
|
||
#: website/public/first-investigation/index.html:75
|
||
#: website/public/first-investigation/index.html:88
|
||
#: website/public/get-started/index.html:75
|
||
#: website/public/get-started/index.html:88
|
||
#: website/public/guides/browser/index.html:75
|
||
#: website/public/guides/browser/index.html:88
|
||
#: website/public/guides/index.html:75 website/public/guides/index.html:88
|
||
#: website/public/guides/javascript/index.html:75
|
||
#: website/public/guides/javascript/index.html:88
|
||
#: website/public/guides/native/index.html:75
|
||
#: website/public/guides/native/index.html:88 website/public/index.html:75
|
||
#: website/public/index.html:88 website/public/showcase/aegis/index.html:75
|
||
#: website/public/showcase/aegis/index.html:88
|
||
#: website/public/showcase/ctf/index.html:75
|
||
#: website/public/showcase/ctf/index.html:88
|
||
#: website/public/showcase/dx-ball/index.html:75
|
||
#: website/public/showcase/dx-ball/index.html:88
|
||
#: website/public/showcase/index.html:75 website/public/showcase/index.html:88
|
||
#: website/public/showcase/notion/index.html:75
|
||
#: website/public/showcase/notion/index.html:88
|
||
#: website/public/showcase/th04/index.html:75
|
||
#: website/public/showcase/th04/index.html:88
|
||
msgctxt "shared"
|
||
msgid ""
|
||
"REA — Find out how software works. Reverse engineering with your coding "
|
||
"agent."
|
||
msgstr ""
|
||
"REA-پیدا کردن چگونه نرم افزار کار می کند. مهندسی معکوس با عامل برنامه نویسی "
|
||
"شما."
|
||
|
||
#: website/public/blog/index.html:104
|
||
#: website/public/blog/touhou-reconstruction/index.html:104
|
||
#: website/public/examples/dino-lab/index.html:105
|
||
#: website/public/faq/index.html:104
|
||
#: website/public/first-investigation/index.html:104
|
||
#: website/public/get-started/index.html:104
|
||
#: website/public/guides/browser/index.html:104
|
||
#: website/public/guides/index.html:104
|
||
#: website/public/guides/javascript/index.html:104
|
||
#: website/public/guides/native/index.html:104 website/public/index.html:106
|
||
#: website/public/showcase/aegis/index.html:105
|
||
#: website/public/showcase/ctf/index.html:104
|
||
#: website/public/showcase/dx-ball/index.html:104
|
||
#: website/public/showcase/index.html:104
|
||
#: website/public/showcase/notion/index.html:104
|
||
#: website/public/showcase/th04/index.html:104
|
||
msgctxt "shared"
|
||
msgid "REA home"
|
||
msgstr "صفحهٔ اصلی REA"
|
||
|
||
#: website/public/blog/index.html:108
|
||
#: website/public/blog/touhou-reconstruction/index.html:108
|
||
#: website/public/examples/dino-lab/index.html:109
|
||
#: website/public/faq/index.html:108
|
||
#: website/public/first-investigation/index.html:108
|
||
#: website/public/get-started/index.html:108
|
||
#: website/public/guides/browser/index.html:108
|
||
#: website/public/guides/index.html:108
|
||
#: website/public/guides/javascript/index.html:108
|
||
#: website/public/guides/native/index.html:108 website/public/index.html:110
|
||
#: website/public/showcase/aegis/index.html:109
|
||
#: website/public/showcase/ctf/index.html:108
|
||
#: website/public/showcase/dx-ball/index.html:108
|
||
#: website/public/showcase/index.html:108
|
||
#: website/public/showcase/notion/index.html:108
|
||
#: website/public/showcase/th04/index.html:108
|
||
msgctxt "shared"
|
||
msgid "Main navigation"
|
||
msgstr "ناوبری اصلی"
|
||
|
||
#: website/public/blog/index.html:117
|
||
#: website/public/blog/touhou-reconstruction/index.html:117
|
||
#: website/public/examples/dino-lab/index.html:118
|
||
#: website/public/faq/index.html:117
|
||
#: website/public/first-investigation/index.html:117
|
||
#: website/public/get-started/index.html:117
|
||
#: website/public/guides/browser/index.html:117
|
||
#: website/public/guides/index.html:117
|
||
#: website/public/guides/javascript/index.html:117
|
||
#: website/public/guides/native/index.html:117 website/public/index.html:119
|
||
#: website/public/showcase/aegis/index.html:118
|
||
#: website/public/showcase/ctf/index.html:117
|
||
#: website/public/showcase/dx-ball/index.html:117
|
||
#: website/public/showcase/index.html:117
|
||
#: website/public/showcase/notion/index.html:117
|
||
#: website/public/showcase/th04/index.html:117
|
||
msgctxt "shared"
|
||
msgid "REA on GitHub"
|
||
msgstr "REA در GitHub"
|
||
|
||
#: website/public/blog/index.html:137
|
||
#: website/public/blog/touhou-reconstruction/index.html:137
|
||
#: website/public/examples/dino-lab/index.html:138
|
||
#: website/public/faq/index.html:137
|
||
#: website/public/first-investigation/index.html:137
|
||
#: website/public/get-started/index.html:137
|
||
#: website/public/guides/browser/index.html:137
|
||
#: website/public/guides/index.html:137
|
||
#: website/public/guides/javascript/index.html:137
|
||
#: website/public/guides/native/index.html:137 website/public/index.html:139
|
||
#: website/public/showcase/aegis/index.html:138
|
||
#: website/public/showcase/ctf/index.html:137
|
||
#: website/public/showcase/dx-ball/index.html:137
|
||
#: website/public/showcase/index.html:137
|
||
#: website/public/showcase/notion/index.html:137
|
||
#: website/public/showcase/th04/index.html:137
|
||
msgctxt "shared"
|
||
msgid "Join REA on Discord"
|
||
msgstr "به REA در Discord بپیوندید"
|
||
|
||
#: website/public/blog/index.html:156
|
||
#: website/public/blog/touhou-reconstruction/index.html:156
|
||
#: website/public/examples/dino-lab/index.html:157
|
||
#: website/public/faq/index.html:156
|
||
#: website/public/first-investigation/index.html:156
|
||
#: website/public/get-started/index.html:156
|
||
#: website/public/guides/browser/index.html:156
|
||
#: website/public/guides/index.html:156
|
||
#: website/public/guides/javascript/index.html:156
|
||
#: website/public/guides/native/index.html:156 website/public/index.html:158
|
||
#: website/public/showcase/aegis/index.html:157
|
||
#: website/public/showcase/ctf/index.html:156
|
||
#: website/public/showcase/dx-ball/index.html:156
|
||
#: website/public/showcase/index.html:156
|
||
#: website/public/showcase/notion/index.html:156
|
||
#: website/public/showcase/th04/index.html:156
|
||
msgctxt "shared"
|
||
msgid "Follow REA on X"
|
||
msgstr "REA را در X دنبال کنید"
|
||
|
||
#: website/public/blog/index.html:217
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:99
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../../">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="../">
|
||
#. {ph3}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}Home{ph1} / {ph2}Blog{ph3} / Touhou reconstruction"
|
||
msgstr "{ph0}خانه{ph1} / {ph2}وبلاگ{ph3} / بازسازی توهو"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:185
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Essay · Touhou reconstruction"
|
||
msgstr "مقاله * بازسازی توهو"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:186
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "The industrial revolution in reverse engineering."
|
||
msgstr "انقلاب صنعتی در مهندسی معکوس"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:187
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "By N0zoM1z0 · 10 October 2026"
|
||
msgstr "توسط N0zoM1z0 * 10 اکتبر 2026"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:189
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Takeaway"
|
||
msgstr "نکات اصلی"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:191
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Give agents autonomy over the investigation.{ph1} Set a clear goal and "
|
||
"acceptance criteria, then let the agent decide what to try next."
|
||
msgstr ""
|
||
"{ph0}به ماموران در مورد تحقيقات خودمختاري بده{ph1} یک هدف مشخص و معیارهای "
|
||
"پذیرش را تعیین کنید ، سپس اجازه دهید نماینده تصمیم بگیرد که چه چیزی را "
|
||
"امتحان کند."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:196
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Use the repository and Git as working memory.{ph1} Keep the reasoning "
|
||
"with the code. Git checkpoints let the next session continue after the "
|
||
"conversation ends."
|
||
msgstr ""
|
||
"{ph0}از مخزن و گیت به عنوان حافظه کاری استفاده کنید.{ph1} استدلال را با کد "
|
||
"نگه دارید. نقاط بازرسی گیت اجازه دهید جلسه بعدی پس از پایان مکالمه ادامه "
|
||
"یابد."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:201
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Let evidence decide what you claim.{ph1} A confident explanation still "
|
||
"needs testing. “Unknown” is a valid answer when the evidence is incomplete."
|
||
msgstr ""
|
||
"{ph0}بگذارید شواهد تصمیم بگیرند که شما چه ادعایی دارید.{ph1} یک توضیح مطمئن "
|
||
"هنوز نیاز به آزمایش دارد. \"نامعلوم\" پاسخ معتبر است وقتی شواهد ناقص است."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:206
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Test the oracle too.{ph1} Try cases it should reject. If it misses a "
|
||
"bug, revisit the earlier results that depended on it."
|
||
msgstr ""
|
||
"{ph0}مرجع تأیید (اوراکل) را نیز آزمایش کنید.{ph1} مواردی را امتحان کنید که "
|
||
"باید رد شود. اگر یک اشکال را از دست داد ، نتایج قبلی را که به آن بستگی داشت "
|
||
"، دوباره بررسی کنید."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/blog/touhou-reconstruction/index.html:211
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}We are in the early days of RE's industrial revolution.{ph1} The "
|
||
"methods are still taking shape. There is plenty left to explore."
|
||
msgstr ""
|
||
"{ph0}ما در روزهای اولیه انقلاب صنعتی RE هستیم.{ph1} روش ها هنوز در حال شکل "
|
||
"گرفتن هستند. هنوز چيزاي زيادي براي کشف کردن باقي مونده"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:223
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "How experience compounds"
|
||
msgstr "چگونه ترکیبات تجربه"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:224
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}Human direction{ph1} · Goal and acceptance criteria"
|
||
msgstr "{ph0}جهت گیری انسان{ph1} * هدف و معیارهای پذیرش"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:312
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Autonomy"
|
||
msgstr "استقلال عمل"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:313
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Agent"
|
||
msgstr "دستیار"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/blog/touhou-reconstruction/index.html:314
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Choose an experiment.{ph0}Propose a hypothesis."
|
||
msgstr "یک آزمایش را انتخاب کنید.{ph0}یک فرضیه را پیشنهاد کنید."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:317
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Verification"
|
||
msgstr "اعتبارسنجی"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:318
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Oracle"
|
||
msgstr "مرجع اعتبارسنجی"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/blog/touhou-reconstruction/index.html:319
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Test against a{ph0}concrete reference."
|
||
msgstr "تست در برابر یک{ph0}مرجع بتن."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:322
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Repository"
|
||
msgstr "مخزن کد"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:323
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Working memory"
|
||
msgstr "حافظهٔ کاری"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/blog/touhou-reconstruction/index.html:324
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Code, evidence,{ph0}checks and lessons."
|
||
msgstr "کد ، شواهد,{ph0}چک ها و درس ها"
|
||
|
||
#. {ph0}: <br />
|
||
#. {ph1}: <strong>
|
||
#. {ph2}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:326
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Mismatch{ph0}{ph1}Revise the hypothesis{ph2}"
|
||
msgstr "عدم تطابق{ph0}{ph1}فرضیه را بازنگری کنید{ph2}"
|
||
|
||
#. {ph0}: <br />
|
||
#. {ph1}: <strong>
|
||
#. {ph2}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:329
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "A better{ph0}{ph1}starting point{ph2}"
|
||
msgstr "بهتر{ph0}{ph1}نقطه شروع{ph2}"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:332
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Reuse"
|
||
msgstr "استفادهٔ دوباره"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:333
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}Pass{ph1} · Keep the result and its evidence"
|
||
msgstr "{ph0}گذرنامه{ph1} * نتیجه و شواهد آن را حفظ کنید"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:345
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"Each project leaves the next with a better starting point. That includes "
|
||
"fixing the checks when we discover a gap."
|
||
msgstr ""
|
||
"هر پروژه با نقطه شروع بهتر از پروژه بعدی باقی می ماند. که شامل اصلاح چک ها "
|
||
"هم ميشه وقتي که ما يه شکاف پيدا مي کنيم"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:352
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "In this article"
|
||
msgstr "در این مقاله"
|
||
|
||
#. {ph0}: <a href="#august">
|
||
#. {ph1}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:354
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}August 2026{ph1}"
|
||
msgstr "{ph0}آگوست 2026{ph1}"
|
||
|
||
#. {ph0}: <a href="#th08">
|
||
#. {ph1}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:355
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}TH08: the continuation{ph1}"
|
||
msgstr "{ph0} TH08: ادامه{ph1}"
|
||
|
||
#. {ph0}: <a href="#different-approaches">
|
||
#. {ph1}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:356
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}Two approaches{ph1}"
|
||
msgstr "{ph0}دو رویکرد{ph1}"
|
||
|
||
#. {ph0}: <a href="#th095">
|
||
#. {ph1}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:357
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}TH095: compounding{ph1}"
|
||
msgstr "{ph0} TH095: ترکیب{ph1}"
|
||
|
||
#. {ph0}: <a href="#th04">
|
||
#. {ph1}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:358
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}TH04: across architectures{ph1}"
|
||
msgstr "{ph0} TH04: در سراسر معماری{ph1}"
|
||
|
||
#. {ph0}: <a href="#semantic-reconstruction">
|
||
#. {ph1}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:359
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}From exact to readable{ph1}"
|
||
msgstr "{ph0}از دقیق تا قابل خواندن{ph1}"
|
||
|
||
#. {ph0}: <a href="#industrial-shift">
|
||
#. {ph1}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:362
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}The industrial shift{ph1}"
|
||
msgstr "{ph0}شیفت صنعتی{ph1}"
|
||
|
||
#. {ph0}: <a href="#possibilities">
|
||
#. {ph1}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:363
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}What becomes possible{ph1}"
|
||
msgstr "{ph0}آنچه ممکن می شود{ph1}"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:368
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "What changed in August 2026"
|
||
msgstr "آنچه در آگوست 2026 تغییر کرد"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:369
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"Before this work, I had done a lot of manual reverse engineering. I would "
|
||
"inspect a function until I had an explanation, then test that explanation "
|
||
"against the program. Getting further meant spending more of my own time on "
|
||
"the next function. It also meant keeping an increasingly large picture in my"
|
||
" head."
|
||
msgstr ""
|
||
"قبل از این کار ، من مهندسی معکوس دستی زیادی انجام داده بودم. من یک تابع را "
|
||
"بررسی می کردم تا زمانی که یک توضیح داشتم ، سپس آن توضیح را در برابر برنامه "
|
||
"تست می کردم. ادامه دادن به این معنی بود که بیشتر وقت خودم را صرف کار بعدی می"
|
||
" کردم. همچنین به این معنی بود که یک تصویر بزرگ در ذهنم نگه دارم."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:376
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"Most of my RE work is on games. I reconstruct them so their behavior can be "
|
||
"understood and eventually carried into a port or a mod. That is the "
|
||
"experience behind this article. The method can be useful elsewhere, but each"
|
||
" field needs to establish what it can check against a reliable reference."
|
||
msgstr ""
|
||
"بسیاری از دوباره کار من در بازی است. من آنها را بازسازی می کنم تا رفتارشان "
|
||
"درک شود و در نهایت به یک پورت نرم افزار یا یک مود منتقل شود. این تجربه پشت "
|
||
"این مقاله است. این روش می تواند در جای دیگر مفید باشد ، اما هر فیلد باید "
|
||
"مشخص کند که چه چیزی را می تواند با یک مرجع قابل اعتماد بررسی کند."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:383
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"In August 2026, I started exploring agent-driven RE seriously. I wanted to "
|
||
"see how far an agent could get with access to the program and ordinary "
|
||
"development tools. Touhou reconstruction gave me a substantial project in "
|
||
"which to find out."
|
||
msgstr ""
|
||
"در اوت 2026, من شروع به کاوش دوباره عامل محور جدی. ميخواستم ببينم که يه "
|
||
"مامور چقدر ميتونه با دسترسي به برنامه و ابزار توسعه معمولي به اينجا برسه "
|
||
"بازسازی توهو به من یک پروژه قابل توجهی داد که در آن می توانستم بفهمم."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:389
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The early progress was startling. An investigation could keep moving without"
|
||
" me choosing every individual step. A failed comparison might send the agent"
|
||
" to another caller. It could write a small diagnostic and use the result to "
|
||
"decide what to try next. Giving it that freedom made a difference: I could "
|
||
"spend more attention on the project's direction and on whether its checks "
|
||
"were trustworthy."
|
||
msgstr ""
|
||
"پیشرفت اولیه شگفت انگیز بود. يه تحقيق ميتونه بدون اينکه من هر قدم رو انتخاب "
|
||
"کنم ادامه پيدا کنه يه مقايسه شکست خورده ممکنه مامور رو به يه تماس گيرنده "
|
||
"ديگه بفرسته می تواند یک تشخیص کوچک بنویسد و از نتیجه استفاده کند تا تصمیم "
|
||
"بگیرد که چه چیزی را امتحان کند. دادن این آزادی به آن تفاوت ایجاد کرد: من می "
|
||
"توانم توجه بیشتری به جهت پروژه و اینکه آیا چک های آن قابل اعتماد است ، صرف "
|
||
"کنم."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:398
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The pace got my attention first. Then I began wondering what would survive "
|
||
"beyond the current project. Would the next game benefit from everything we "
|
||
"had just learned?"
|
||
msgstr ""
|
||
"سرعت اول توجه من رو جلب کرد بعد شروع کردم به فکر کردن که چه چیزی فراتر از "
|
||
"پروژه فعلی زنده می ماند. آیا بازی بعدی از هر چیزی که تازه یاد گرفته بودیم "
|
||
"سود می برد ؟"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:405
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "TH08: building on human work"
|
||
msgstr "TH08: ساخت بر روی کار انسانی"
|
||
|
||
#. {ph0}: <a href="https://github.com/N0zoM1z0/th08">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="https://github.com/GensokyoClub/th08" >
|
||
#. {ph3}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:406
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}TH08{ph1}, Imperishable Night, began as a continuation of "
|
||
"{ph2}GensokyoClub's reconstruction{ph3}. Their public source gave me a "
|
||
"substantial foundation. It came with knowledge of the build and a history of"
|
||
" contributions that I preserved in the continuation."
|
||
msgstr ""
|
||
"{ph0} TH08 {ph1}، شب فاسد نشدنی ، به عنوان ادامه {ph2} بازسازی "
|
||
"GensokyoClub{ph3}. منبع عمومی آنها به من یک پایه قابل توجهی داد. با دانش "
|
||
"ساخت و ساز و سابقه کمک هایی که در ادامه حفظ کردم ، همراه بود."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:415
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The imported history ends at the public 10 August checkpoint. My independent"
|
||
" continuation began on 13 August. By 19 August, the ledger recorded source "
|
||
"for all 1,107 identified game functions."
|
||
msgstr ""
|
||
"تاریخ وارداتی در بازرسی عمومی 10 آگوست به پایان می رسد. ادامه مستقل من در 13"
|
||
" آگوست آغاز شد. تا 19 آگوست ، دفتر کل منبع ثبت شده برای تمام 1107 عملکرد "
|
||
"بازی شناسایی شده بود."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:420
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"A playable Linux reconstruction port was committed on 24 August, roughly "
|
||
"eleven days after the continuation began. A Web edition followed. The native"
|
||
" Linux 64-bit release arrived on 30 August."
|
||
msgstr ""
|
||
"یک پورت بازسازی Linux قابل بازی در 24 اوت ، تقریبا یازده روز پس از شروع "
|
||
"ادامه ، انجام شد. یک نسخه وب به دنبال آن بود. نسخه بومی Linux 64 بیتی در 30 "
|
||
"اوت وارد شد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:425
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"What struck me was that the work had reached a program people could run. "
|
||
"Getting there required following problems beyond an individual function. "
|
||
"Even when two functions looked correct in isolation, they could accidentally"
|
||
" use separate copies of state that should have been shared."
|
||
msgstr ""
|
||
"چیزی که مرا تحت تاثیر قرار داد این بود که کار به برنامه ای رسیده بود که مردم"
|
||
" می توانستند اجرا کنند. رسیدن به آنجا نیاز به دنبال مشکلات فراتر از یک "
|
||
"عملکرد فردی دارد. حتی وقتی دو تابع به صورت جداگانه درست به نظر می رسیدند ، "
|
||
"می توانستند به طور تصادفی از نسخه های جداگانه ای از حالت استفاده کنند که "
|
||
"باید به اشتراک گذاشته می شد."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:432
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"This made reference checks central to the work. I call them "
|
||
"{ph0}oracles{ph1}. A code comparison can tell us whether a reconstructed "
|
||
"function reproduces the original instructions. A runtime check can tell us "
|
||
"whether an exercised route reaches the expected state. The agent proposes an"
|
||
" explanation and tests it; a mismatch gives it something specific to "
|
||
"investigate."
|
||
msgstr ""
|
||
"این باعث شد که چک های مرجع در مرکز کار قرار بگیرند. من بهشون ميگم {ph0}مراجع"
|
||
" تأیید (اوراکل){ph1}. یک مقایسه کد می تواند به ما بگوید که آیا یک تابع "
|
||
"بازسازی شده دستورالعمل های اصلی را بازتولید می کند. یک بررسی زمان اجرا می "
|
||
"تواند به ما بگوید که آیا یک مسیر تمرین شده به حالت مورد انتظار می رسد. مامور"
|
||
" توضیح می دهد و آن را آزمایش می کند ؛ عدم تطابق چیزی خاص برای تحقیق به آن می"
|
||
" دهد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:440
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "An exact match with the wrong constant"
|
||
msgstr "مطابقت دقیق با ثابت اشتباه"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:441
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"An oracle is software someone wrote. TH08 gave me a clear reminder of how "
|
||
"much can depend on that software."
|
||
msgstr ""
|
||
"یک مرجع تأیید (اوراکل) نرم افزاری است که کسی نوشته است. TH08 به من یادآوری "
|
||
"روشنی داد که چقدر می تواند به این نرم افزار بستگی داشته باشد."
|
||
|
||
#. {ph0}: <code>0.0</code>
|
||
#. {ph1}: <code>128.0</code>
|
||
#: website/public/blog/touhou-reconstruction/index.html:445
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"In September, a bug reported by a downstream Switch port led back to item "
|
||
"auto-collection. The reconstructed source checked player power against "
|
||
"{ph0}. The original used {ph1}, the maximum-power threshold."
|
||
msgstr ""
|
||
"در ماه سپتامبر ، یک اشکال گزارش شده توسط یک پورت سوئیچ پایین جریان منجر به "
|
||
"جمع آوری خودکار آیتم شد. منبع بازسازی شده قدرت بازیکن را در برابر {ph0}. اصل"
|
||
" مورد استفاده {ph1}، حد حداکثر قدرت"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:451
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"Normal power is non-negative, so the reconstructed power check was "
|
||
"effectively always satisfied. Above the collection line, the game could "
|
||
"attract items without requiring maximum power. The other exceptions in the "
|
||
"condition were correct. This one constant changed the behavior."
|
||
msgstr ""
|
||
"قدرت طبیعی منفی نیست ، بنابراین بررسی قدرت بازسازی شده به طور موثر همیشه "
|
||
"راضی بود. بالاتر از خط جمع آوری ، بازی می تواند بدون نیاز به حداکثر قدرت ، "
|
||
"آیتم ها را جذب کند. استثناهای دیگر در این شرایط درست بود. این یکی ثابت رفتار"
|
||
" را تغییر داد."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/blog/touhou-reconstruction/index.html:458
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}Yet the function had already passed the exact comparison.{ph1}"
|
||
msgstr "{ph0}با این حال تابع قبلا مقایسه دقیق را پشت سر گذاشته بود.{ph1}"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:464
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"A rebuild can put a constant at a different address. The comparison tool "
|
||
"accounted for that by adjusting addresses in the compiled instructions "
|
||
"before comparing them with the original. But it never checked the floating-"
|
||
"point value stored at the referenced address."
|
||
msgstr ""
|
||
"بازسازی می تواند ثابت را در آدرس دیگری قرار دهد. ابزار مقایسه این را با "
|
||
"تنظیم آدرس ها در دستورالعمل های کامپایل شده قبل از مقایسه آنها با اصل توضیح "
|
||
"می دهد. اما هرگز ارزش نقطه شناور ذخیره شده در آدرس مرجع را بررسی نکرد."
|
||
|
||
#. {ph0}: <code>128.0</code>
|
||
#. {ph1}: <code>0.0</code>
|
||
#: website/public/blog/touhou-reconstruction/index.html:471
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"That left a hole in the check. It could point the reconstructed instruction "
|
||
"at the original's {ph0} while the source still said {ph1}. The instruction "
|
||
"bytes matched. The source meant something different."
|
||
msgstr ""
|
||
"که يه سوراخ توي چک جا گذاشت ممکنه دستورالعمل بازسازی شده رو به سمت اصل نشون "
|
||
"بده {ph0} در حالی که منبع هنوز گفت {ph1}. بایت های دستورالعمل با هم مطابقت "
|
||
"داشتند. منبع به معنی چیز دیگری بود."
|
||
|
||
#. {ph0}: <a href="https://github.com/N0zoM1z0/th08/pull/11" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="https://github.com/N0zoM1z0/th08/pull/13">
|
||
#. {ph3}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:477
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The {ph0}2 September fix{ph1} corrected the source and made the comparison "
|
||
"check the referenced constant's actual bytes. A {ph2}wider audit{ph3} then "
|
||
"examined 1,548 floating-literal references. It found another twelve "
|
||
"incorrect references across five accepted functions."
|
||
msgstr ""
|
||
"این {ph0}2 سپتامبر ثابت{ph1} منبع را اصلاح کرد و مقایسه را انجام داد بایت "
|
||
"های واقعی ثابت مرجع را بررسی کنید. A {ph2}حسابرسی گسترده تر{ph3} سپس 1548 "
|
||
"مرجع ثابت نقطه شناور را بررسی کرد. این دوازده مرجع نادرست دیگر را در پنج "
|
||
"تابع پذیرفته شده پیدا کرد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:488
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The comparison now checks every such floating literal. Its tests include "
|
||
"deliberately wrong values to make sure they are rejected. We also had to "
|
||
"revisit results that had passed the weaker check."
|
||
msgstr ""
|
||
"این مقایسه اکنون هر ثابت نقطه شناور را بررسی می کند. تست های آن شامل مقادیر "
|
||
"عمدا اشتباه برای اطمینان از رد شدن آنها است. ما همچنین مجبور بودیم نتایج را "
|
||
"که از چک ضعیف تر عبور کرده بود ، دوباره بررسی کنیم."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:493
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}The oracle needed reconstructing too.{ph1} Repairing it was part of "
|
||
"repairing the game."
|
||
msgstr ""
|
||
"{ph0}مرجع تأیید (اوراکل) نیز نیاز به بازسازی داشت.{ph1} تعمیر آن بخشی از "
|
||
"تعمیر بازی بود."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:497
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"That matters when the team is mostly one person working with agents. I "
|
||
"cannot personally inspect every line they produce, so much of my confidence "
|
||
"rests on their checks. A shared oracle's blind spot can affect many "
|
||
"investigations before I notice it. I have to understand what the checker "
|
||
"actually verifies and test it against cases that ought to fail."
|
||
msgstr ""
|
||
"این مهم است وقتی که تیم بیشتر یک نفر است که با ماموران کار می کند. من شخصا "
|
||
"نمی توانم هر خطی را که تولید می کنند بازرسی کنم ، بنابراین اعتماد به نفس من "
|
||
"بر روی چک های آنها استوار است. نقطه کور یک مرجع تایید مشترک (اوراکل) می "
|
||
"تواند بسیاری از تحقیقات را قبل از اینکه متوجه آن شوم ، تحت تاثیر قرار دهد. "
|
||
"باید بفهمم که چک کننده واقعا چه چیزی را تایید می کند و آن را در برابر مواردی"
|
||
" که باید شکست بخورند تست می کند."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/blog/touhou-reconstruction/index.html:505
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"As the work continued, those checks became part of the repository. So did "
|
||
"the reasons for source changes and notes that let a later session pick up "
|
||
"where an earlier one stopped. {ph0}The repository was becoming the project's"
|
||
" working memory.{ph1}"
|
||
msgstr ""
|
||
"با ادامه کار ، این چک ها بخشی از مخزن شدند. همچنین دلایل تغییر منبع و "
|
||
"یادداشت هایی که اجازه می داد جلسه بعدی از جایی که جلسه قبلی متوقف شده بود ، "
|
||
"شروع شود. {ph0}مخزن کد منبع به حافظه کاری پروژه تبدیل شده بود.{ph1}"
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/blog/touhou-reconstruction/index.html:514
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}A successful batch gave us both recovered code and a better environment"
|
||
" for the next batch.{ph1}"
|
||
msgstr ""
|
||
"{ph0}یک دسته موفق به ما کد بازیابی شده و یک محیط بهتر برای دسته بعدی را "
|
||
"داد.{ph1}"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:522
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Two different ideas of reconstruction"
|
||
msgstr "دو ایده متفاوت از بازسازی"
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://web.archive.org/web/20260909051514/https://github.com/GensokyoClub/th08#important-
|
||
#. notice" >
|
||
#. {ph1}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:523
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"GensokyoClub's {ph0}public README{ph1} makes its disagreement with this kind"
|
||
" of work explicit. The notice announces that further development will happen"
|
||
" privately until completion. One passage reads:"
|
||
msgstr ""
|
||
"GensokyoClub {ph0}عمومی README{ph1} مخالفتش با این نوع کار را صریح می کند. "
|
||
"این اطلاعیه اعلام می کند که توسعه بیشتر به صورت خصوصی تا زمان تکمیل اتفاق "
|
||
"خواهد افتاد. در یکی از این بخش ها آمده است:"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:534
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The rise of grifters (AI decompilations and ports) in this space taking from"
|
||
" our work paints a bad image for future decompilation efforts…"
|
||
msgstr ""
|
||
"ظهور grifters (تجزیه هوش مصنوعی و پورت ها) در این فضا گرفتن از کار ما یک "
|
||
"تصویر بد برای تلاش های تجزیه آینده را نقاشی می کند…"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:540
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The notice also describes the psychological toll on the maintainers. Their "
|
||
"contribution policy excludes pull requests produced primarily with AI. They "
|
||
"have put their free time into difficult work, and that work helped make my "
|
||
"continuation possible. I respect the effort behind it. The disagreement I "
|
||
"want to discuss is about how reconstruction should proceed and how a "
|
||
"contribution should be judged."
|
||
msgstr ""
|
||
"این اطلاعیه همچنین تلفات روانی را بر روی نگهدارنده ها توصیف می کند. سیاست "
|
||
"مشارکت آنها درخواست های pull را که عمدتا با هوش مصنوعی تولید شده است ، حذف "
|
||
"می کند. آنها وقت آزادشان را به کار سختی اختصاص داده اند ، و این کار به ادامه"
|
||
" من کمک کرد. من به تلاش پشتش احترام ميذارم اختلاف نظر که می خواهم در مورد آن"
|
||
" بحث کنم این است که بازسازی چگونه باید ادامه یابد و چگونه باید یک سهم را "
|
||
"قضاوت کرد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:549
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"In the manual workflow I knew, developing an understanding of a function and"
|
||
" reconstructing it usually fell to the same person. A project relied heavily"
|
||
" on that person's expertise. Trust in the contributor mattered because so "
|
||
"much of the reasoning happened while they worked."
|
||
msgstr ""
|
||
"در جریان کاری دستی که می شناختم ، توسعه درک یک تابع و بازسازی آن معمولا به "
|
||
"همان شخص می رسید. یک پروژه به شدت به تخصص آن شخص متکی بود. اعتماد به کمک "
|
||
"کننده مهم بود چون خیلی از استدلال ها در حالی که کار می کردند اتفاق می افتاد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:556
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"Existing projects already preserve knowledge in their source and build "
|
||
"tools. What changed for me was that an agent could use that knowledge to "
|
||
"pursue the next investigation on its own."
|
||
msgstr ""
|
||
"پروژه های موجود در حال حاضر دانش را در منبع خود حفظ می کنند و ابزار می "
|
||
"سازند. چیزی که برای من تغییر کرد این بود که یک مامور می توانست از این دانش "
|
||
"برای پیگیری تحقیقات بعدی به تنهایی استفاده کند."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:561
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"In my continuation, I decide the objective and the standard for accepting a "
|
||
"result. The agent has broad freedom to investigate. Its proposed "
|
||
"reconstruction then has to survive the relevant checks. I want another "
|
||
"person to be able to examine why we chose an implementation, even if an "
|
||
"agent did most of the work."
|
||
msgstr ""
|
||
"در ادامه ، من هدف و استاندارد پذیرش نتیجه را تعیین می کنم. مامور آزادی "
|
||
"گسترده ای برای تحقیق داره بازسازی پیشنهادی آن باید از چک های مربوطه جان سالم"
|
||
" به در ببرد. من می خواهم شخص دیگری بتواند بررسی کند که چرا ما یک پیاده سازی "
|
||
"را انتخاب کردیم ، حتی اگر یک نماینده بیشتر کار را انجام دهد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:568
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"This can be a difficult transition. Years of careful work may become the "
|
||
"foundation for a continuation that moves much faster. That raises real "
|
||
"questions about credit. It also changes what maintainers need to know before"
|
||
" accepting a contribution."
|
||
msgstr ""
|
||
"این می تواند یک انتقال دشوار باشد. سالها کار دقیق ممکن است پایه ای برای "
|
||
"ادامه ای باشد که بسیار سریعتر حرکت می کند. این سوال های واقعی در مورد اعتبار"
|
||
" را مطرح می کند. همچنین آنچه را که نگهدارندگان باید قبل از پذیرش سهم بدانند "
|
||
"تغییر می دهد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:574
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The industrial analogy helps me think about this. In a craft, much of the "
|
||
"process depends on the skill of the person carrying it out. Machinery "
|
||
"changes where that skill is needed. Someone still has to design the process "
|
||
"and recognize when its output is wrong. Different communities can choose how"
|
||
" much of that change they want to take on."
|
||
msgstr ""
|
||
"تشبیه صنعتی به من کمک می کند تا در مورد این فکر کنم. در یک کاردستی ، بیشتر "
|
||
"فرآیند به مهارت فرد انجام دهنده آن بستگی دارد. ماشین آلات در جایی که این "
|
||
"مهارت مورد نیاز است تغییر می کند. کسی هنوز باید فرآیند را طراحی کند و تشخیص "
|
||
"دهد که خروجی آن اشتباه است. جوامع مختلف می توانند انتخاب کنند که چه مقدار از"
|
||
" این تغییر را می خواهند انجام دهند."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:582
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"My choice is to continue openly, with the inherited work credited and its "
|
||
"history preserved. I want the new work to be reviewable. That gives us a way"
|
||
" to ask how far this approach can go and to learn from what goes wrong along"
|
||
" the way."
|
||
msgstr ""
|
||
"انتخاب من اينه که به طور علني ادامه بدم ، با کار ارثي که اعتبار داده شده و "
|
||
"تاريخش حفظ شده. ميخوام کار جديد قابل بازنگري باشه این به ما راهی می دهد تا "
|
||
"بپرسیم این رویکرد تا چه حد می تواند پیش برود و از آنچه در طول مسیر اشتباه "
|
||
"است یاد بگیریم."
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/GensokyoClub/th08/blob/e874b98e210b3be1ed21c5e03d54b883eac5069c/README.md#important-
|
||
#. notice" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a
|
||
#. href="https://github.com/GensokyoClub/th08/blob/f345c7dee07b849f2ff93a0029ab5ede126bf12c/CODE_OF_CONDUCT.md"
|
||
#. >
|
||
#. {ph3}: </a >
|
||
#. {ph4}: <a
|
||
#. href="https://github.com/N0zoM1z0/th08/blob/d2a00f4acb4a13916e07a00bd13f714961714628/README.md#credits-
|
||
#. and-provenance" >
|
||
#. {ph5}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:588
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"Source: GensokyoClub's {ph0}README notice{ph1}, checked on 10 October 2026, "
|
||
"and its {ph2}contribution policy{ph3}. The quotation is a shortened excerpt."
|
||
" TH08's {ph4}credits and provenance{ph5} record the continuation boundary."
|
||
msgstr ""
|
||
"منبع: GensokyoClub {ph0}اطلاعیه README{ph1}، در 10 اکتبر 2026 بررسی شد و "
|
||
"{ph2}سیاست مشارکت{ph3}. نقل قول یک گزیده کوتاه است. TH08 {ph4}اعتبارات و "
|
||
"منشأ{ph5} مرز ادامه را ثبت کنید."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:606
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "TH095: experience starts compounding"
|
||
msgstr "TH095: تجربه شروع به ترکیب می کند"
|
||
|
||
#. {ph0}: <a href="https://github.com/N0zoM1z0/th095">
|
||
#. {ph1}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:607
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}TH095{ph1}, Shoot the Bullet, made the value of that experience much "
|
||
"easier to see. Its repository began on 29 August with zero confirmed game "
|
||
"functions in the ledger. We still had to learn the game. But we already knew"
|
||
" much more about how to begin a reconstruction and how to keep it moving."
|
||
msgstr ""
|
||
"{ph0} TH095 {ph1}، گلوله رو شلیک کن ، ارزش اون تجربه رو خیلی راحت تر دید. "
|
||
"مخزن آن در 29 اوت با صفر عملکرد بازی تایید شده در دفتر کل آغاز شد. ما هنوز "
|
||
"باید بازی را یاد می گرفتیم. اما ما قبلا خیلی بیشتر در مورد چگونگی شروع "
|
||
"بازسازی و چگونگی حرکت آن می دانستیم."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:615
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"By 7 September, all 697 identified game functions had source. By 8 "
|
||
"September, 696 had been accepted as exact comparisons. The whole program "
|
||
"linked on 9 September. The Windows i386 reconstruction was marked playable "
|
||
"on 10 September, about twelve days after initialization."
|
||
msgstr ""
|
||
"تا 7 سپتامبر ، تمام 697 تابع بازی شناسایی شده منبع داشتند. تا 8 سپتامبر ، "
|
||
"696 مورد به عنوان مقایسه دقیق پذیرفته شده بود. کل برنامه در 9 سپتامبر به هم "
|
||
"متصل شد. بازسازی Windows i386 در 10 سپتامبر ، حدود دوازده روز پس از شروع ، "
|
||
"قابل بازی بود."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:622
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"I found this more exciting than the first project's speed. A fresh target "
|
||
"could benefit from work done on another game. The experience was already "
|
||
"present in the tools and in the way the project was organized."
|
||
msgstr ""
|
||
"من این را هیجان انگیزتر از سرعت پروژه اول یافتم. یک هدف تازه می تواند از کار"
|
||
" انجام شده در یک بازی دیگر بهره مند شود. این تجربه قبلا در ابزارها و نحوه "
|
||
"سازماندهی پروژه وجود داشت."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:628
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"For example, TH08 had taught us to pay attention to the assembled program "
|
||
"early. If several recovered functions depend on the same state, their "
|
||
"isolated comparisons leave an important question open. We need to see them "
|
||
"working together. That lesson helped shape how we approached TH095's whole-"
|
||
"program build."
|
||
msgstr ""
|
||
"به عنوان مثال ، TH08 به ما آموخته بود که زودتر به برنامه مونتاژ شده توجه "
|
||
"کنیم. اگر چندین تابع بازیابی شده به همان حالت بستگی داشته باشند ، مقایسه های"
|
||
" جداگانه آنها یک سوال مهم را باز می گذارد. ما باید ببینیم که اونا با هم کار "
|
||
"می کنن این درس به شکل گیری نحوه ی نزدیک شدن ما به ساخت کل برنامه ی TH095 کمک"
|
||
" کرد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:635
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"A lesson that stays in my head is useful while I am there. Once it becomes a"
|
||
" check that another session can run, it can keep helping after I have moved "
|
||
"on. The next agent can use the result without repeating the investigation "
|
||
"that led to it."
|
||
msgstr ""
|
||
"درسی که در ذهنم باقی می ماند در حالی که من آنجا هستم مفید است. وقتی که به یک"
|
||
" چک تبدیل شد که یک جلسه دیگر می تواند اجرا شود ، می تواند کمک کند بعد از "
|
||
"اینکه من حرکت کردم. عامل بعدی می تواند نتیجه را بدون تکرار تحقیقات منجر به "
|
||
"آن استفاده کند."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:641
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The floating-literal bug belongs in that memory too. It explains why "
|
||
"checking a reference also requires checking the data behind it. Keeping that"
|
||
" correction with the code helps later projects avoid inheriting the old "
|
||
"check's blind spot."
|
||
msgstr ""
|
||
"باگ ثابت نقطه شناور هم به اون حافظه تعلق داره این توضیح می دهد که چرا بررسی "
|
||
"یک مرجع نیز نیاز به بررسی داده های پشت آن دارد. حفظ این اصلاح با کد به پروژه"
|
||
" های بعدی کمک می کند تا از ارث بردن نقطه کور چک قدیمی جلوگیری کنند."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/blog/touhou-reconstruction/index.html:647
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}The method becomes part of the starting material for the next "
|
||
"game.{ph1} We can spend more of the next project's effort on what is "
|
||
"actually new about its target."
|
||
msgstr ""
|
||
"{ph0}این روش بخشی از مواد اولیه برای بازی بعدی می شود.{ph1} ما می توانیم "
|
||
"بیشتر از تلاش پروژه بعدی را صرف آنچه در واقع جدید در مورد هدف آن است."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:655
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The same benefit is available to people joining later. They can inspect a "
|
||
"decision and rerun its check before continuing the work. They do not have to"
|
||
" reconstruct the entire project's history to find out why the source looks "
|
||
"the way it does."
|
||
msgstr ""
|
||
"همین مزایا برای افرادی که بعدا به این گروه می پیوندند ، در دسترس است. آنها "
|
||
"می توانند قبل از ادامه کار ، یک تصمیم را بازرسی کرده و چک آن را مجددا اجرا "
|
||
"کنند. آنها مجبور نیستند کل تاریخچه پروژه را بازسازی کنند تا بفهمند چرا منبع "
|
||
"به این شکل به نظر می رسد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:663
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "TH04: the workflow survives a different architecture"
|
||
msgstr "TH04: جریان کار از یک معماری متفاوت جان سالم به در می برد"
|
||
|
||
#. {ph0}: <a href="https://github.com/N0zoM1z0/th04">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="https://github.com/nmlgc/ReC98">
|
||
#. {ph3}: </a>
|
||
#: website/public/blog/touhou-reconstruction/index.html:664
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}TH04{ph1}, Lotus Land Story, took this work into the PC-98 DOS era. The"
|
||
" target was now a 16-bit environment with four cooperating programs. "
|
||
"Understanding its hardware behavior required different evidence from the "
|
||
"Windows games. Existing {ph2}ReC98 work{ph3} gave us valuable knowledge and "
|
||
"source material here too."
|
||
msgstr ""
|
||
"{ph0} TH04 {ph1}، داستان سرزمین لوتوس ، این کار را به دوران PC-98 dos برد. "
|
||
"هدف در حال حاضر یک محیط 16 بیتی با چهار برنامه همکاری بود. درک رفتار سخت "
|
||
"افزاری آن نیاز به شواهد متفاوتی از بازی های Windows داشت. موجود {ph2}کار "
|
||
"ReC98{ph3} ما دانش ارزشمندی و منبع مواد را در اینجا نیز به ما داد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:673
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The DOS reconstruction is now working. In my manual testing, I played "
|
||
"complete Normal routes through their endings and checked saves. The current "
|
||
"work is a native 64-bit port. Establishing a working DOS version first gives"
|
||
" that port a reference."
|
||
msgstr ""
|
||
"بازسازی DOS در حال حاضر کار می کند. در تست دستی من ، من مسیرهای عادی کامل را"
|
||
" از طریق پایان آنها بازی کردم و ذخیره ها را بررسی کردم. کار فعلی یک پورت 64 "
|
||
"بیتی بومی است. ایجاد یک نسخه dos کار برای اولین بار به آن پورت یک مرجع می "
|
||
"دهد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:679
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The architecture changed what we needed to investigate. It also changed the "
|
||
"compiler and runtime against which we checked our work. But the agent could "
|
||
"still follow a question through to a result and let that result guide the "
|
||
"next experiment."
|
||
msgstr ""
|
||
"معماری چیزی که ما برای تحقیق نیاز داشتیم را تغییر داد. همچنین کامپایلر و "
|
||
"زمان اجرا را تغییر داد که با آن کار خود را بررسی کردیم. اما مامور هنوز می "
|
||
"تواند یک سوال را تا نتیجه دنبال کند و اجازه دهد که نتیجه آزمایش بعدی را "
|
||
"هدایت کند."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:685
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"Consider the transition from gameplay to an ending. We need to know what "
|
||
"state carries across that boundary and which program is responsible for it. "
|
||
"That is something we can investigate against the DOS product. Once the "
|
||
"evidence and checks are available, an agent can work through the question "
|
||
"much as it did on a Windows title."
|
||
msgstr ""
|
||
"انتقال از گیم پلی به پایان را در نظر بگیرید. ما باید بدانیم که چه ایالتی از "
|
||
"این مرز عبور می کند و کدام برنامه مسئول آن است. اين چيزيه که ما ميتونيم در "
|
||
"مورد محصول DOS تحقيق کنيم هنگامی که شواهد و چک ها در دسترس هستند ، یک "
|
||
"نماینده می تواند از طریق سوال کار کند ، همانطور که در عنوان Windows انجام "
|
||
"شده است."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:693
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"This is why TH04 matters to the argument. A substantial platform change did "
|
||
"not force us to start over with a new way of working. The architecture "
|
||
"defined the problem; the workflow still gave us a way to solve it."
|
||
msgstr ""
|
||
"به همین دلیل TH04 برای استدلال مهم است. تغییر قابل توجهی در پلتفرم ما را "
|
||
"مجبور نکرد که با یک روش جدید کار شروع کنیم. معماری مشکل را تعریف کرد ؛ جریان"
|
||
" کار هنوز راهی برای حل آن به ما داد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:699
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"For the 64-bit port, we can now examine the new implementation against "
|
||
"behavior already recovered on DOS. The knowledge from reconstruction gives "
|
||
"the port something to build on."
|
||
msgstr ""
|
||
"برای پورت 64 بیتی ، ما اکنون می توانیم پیاده سازی جدید را با رفتاری که قبلا "
|
||
"در DOS بازیابی شده است ، بررسی کنیم. دانش از بازسازی به بندر چیزی برای ساخت "
|
||
"می دهد."
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/N0zoM1z0/th04/blob/bb9faca54e2eb3c0d6c757c75d59ac29d2cd5e93/docs/RE_HANDOFF.md"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="https://github.com/N0zoM1z0/th04/tree/port/modern-64" >
|
||
#. {ph3}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:704
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"Project state as of 10 October 2026: {ph0}DOS reconstruction and manual "
|
||
"testing{ph1} · {ph2}64-bit port{ph3}. The port remains in development."
|
||
msgstr ""
|
||
"وضعیت پروژه از 10 اکتبر 2026: {ph0}بازسازی DOS و تست دستی{ph1} · {ph2}پورت "
|
||
"64 بیتی{ph3}. بندر همچنان در حال توسعه است."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:717
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "From exact code to readable code"
|
||
msgstr "از کد دقیق تا کد قابل خواندن"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:718
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"Once a reconstruction works, I want someone else to be able to understand "
|
||
"it."
|
||
msgstr "وقتی بازسازی جواب داد ، میخوام یه نفر دیگه بتونه درکش کنه."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:722
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"To me, assembly and raw offsets can feel like old friends. I realise this is"
|
||
" a slightly unusual definition of “readable.” Most people would prefer to "
|
||
"follow the game's logic without keeping the executable's memory layout in "
|
||
"their head."
|
||
msgstr ""
|
||
"برای من ، مونتاژ و جبران خام می تواند مانند دوستان قدیمی احساس شود. میدونم "
|
||
"که این یه تعریف کمی غیرمعموله از \"قابل خواندن\"\"اکثر مردم ترجیح می دهند "
|
||
"منطق بازی را بدون نگه داشتن طرح حافظه اجرایی در سر خود دنبال کنند."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:728
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"That is where {ph0}semantic reconstruction{ph1} comes in. A recovered field "
|
||
"may still be known mainly by its offset. We follow how the game uses it "
|
||
"until we can explain its role. Then we can give it a meaningful name and a "
|
||
"type that fits the evidence. We keep the reasoning with the source so the "
|
||
"next person can see where that interpretation came from."
|
||
msgstr ""
|
||
"اینجاست که {ph0}بازسازی معنایی{ph1} وارد می شود. یک میدان بازیابی شده هنوز "
|
||
"هم ممکن است عمدتا با جبران آن شناخته شود. ما دنبال می کنیم که چگونه بازی از "
|
||
"آن استفاده می کند تا زمانی که بتوانیم نقش آن را توضیح دهیم. سپس می توانیم یک"
|
||
" نام معنی دار و نوعی متناسب با شواهد به آن بدهیم. ما استدلال را با منبع نگه "
|
||
"می داریم تا فرد بعدی بتواند ببیند که این تفسیر از کجا آمده است."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:736
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"This becomes especially important for a port. An absolute address tells me "
|
||
"where something lived in the old executable. It gives a 64-bit "
|
||
"implementation little help in deciding which object should own that state. "
|
||
"To move the behavior safely, we need to recover the relationship behind the "
|
||
"old memory access."
|
||
msgstr ""
|
||
"این امر به ویژه برای یک پورت نرم افزار مهم می شود. یک آدرس مطلق به من می "
|
||
"گوید که چیزی در فایل اجرایی قدیمی کجا زندگی می کرد. این یک پیاده سازی 64 "
|
||
"بیتی را در تصمیم گیری در مورد اینکه کدام شی باید مالک آن حالت باشد ، کمک کمی"
|
||
" می کند. برای حرکت ایمن رفتار ، باید رابطه پشت دسترسی به حافظه قدیمی را "
|
||
"بازیابی کنیم."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:743
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "The order I now use is:"
|
||
msgstr "سفارشي که الان ازش استفاده ميکنم:"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:745
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Recover an exact baseline.{ph1} Compile the reconstructed pieces with "
|
||
"the historical compiler. Compare the relevant code and data with the "
|
||
"original executable. Record unresolved differences so the next phase has a "
|
||
"clear starting point."
|
||
msgstr ""
|
||
"{ph0}یک خط پایه دقیق را بازیابی کنید.{ph1} قطعات بازسازی شده را با کامپایلر "
|
||
"تاریخی کامپایل کنید. کد و داده های مربوطه را با فایل اجرایی اصلی مقایسه "
|
||
"کنید. تفاوت های حل نشده را ثبت کنید تا مرحله بعدی نقطه شروع مشخصی داشته "
|
||
"باشد."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:752
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Build and play it on the original platform.{ph1} Link those pieces into"
|
||
" the real program using the original architecture and compiler. Exercise "
|
||
"important gameplay paths. This is where we can find problems with shared "
|
||
"state or initialization that an isolated function comparison missed."
|
||
msgstr ""
|
||
"{ph0}ساخت و پخش آن بر روی پلت فرم اصلی.{ph1} این قطعات را با استفاده از "
|
||
"معماری اصلی و کامپایلر به برنامه واقعی پیوند دهید. مسیرهای مهم گیم پلی را "
|
||
"تمرین کنید. این جایی است که ما می توانیم مشکلات را با حالت مشترک یا شروع که "
|
||
"یک مقایسه تابع جدا شده از دست داده است پیدا کنیم."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/blog/touhou-reconstruction/index.html:759
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Reconstruct the semantics against both references.{ph1} Take one "
|
||
"coherent part of the game at a time and establish what its recovered source "
|
||
"means. Improve its representation while preserving the exact comparisons and"
|
||
" the playable historical build."
|
||
msgstr ""
|
||
"{ph0}معناشناسی را در برابر هر دو مرجع بازسازی کنید.{ph1} یک قسمت منسجم از "
|
||
"بازی را در یک زمان بگیرید و مشخص کنید که منبع بازیابی شده آن به چه معناست. "
|
||
"بهبود نمایش آن در حالی که حفظ مقایسه دقیق و ساخت تاریخی قابل بازی."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:768
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Make the modern port.{ph1} Move the established behavior into the new "
|
||
"environment, such as a native 64-bit build. The reconstructed original-"
|
||
"platform game remains a reference for comparing how the port behaves."
|
||
msgstr ""
|
||
"{ph0}بندر مدرن را بسازید.{ph1} رفتار ثابت شده را به محیط جدید منتقل کنید ، "
|
||
"مانند ساخت 64 بیتی بومی. بازی اصلی-پلتفرم بازسازی شده همچنان مرجع مقایسه "
|
||
"رفتار بندر است."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/blog/touhou-reconstruction/index.html:775
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The playable build from the second stage becomes a {ph0}second oracle{ph1} "
|
||
"during the third. The first oracle checks whether our changed source still "
|
||
"reproduces the relevant original code and data. The second checks that the "
|
||
"reconstructed program still builds and behaves correctly along the paths we "
|
||
"exercise."
|
||
msgstr ""
|
||
"ساخت قابل پخش از مرحله دوم به یک {ph0}مرجع تأیید دوم (اوراکل){ph1} در طول "
|
||
"سوم. اولین مرجع تأیید (اوراکل) بررسی می کند که آیا منبع تغییر یافته ما هنوز "
|
||
"کد و داده های اصلی مربوطه را بازتولید می کند یا خیر. دوم بررسی می کند که "
|
||
"برنامه بازسازی شده هنوز در مسیرهایی که ما تمرین می کنیم درست می سازد و رفتار"
|
||
" می کند."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:783
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"They catch different mistakes. A type change can alter the generated "
|
||
"instructions. An ownership change can leave two parts of the game using "
|
||
"different copies of state. Keeping both checks available gives the agent a "
|
||
"concrete failure to investigate before carrying a refactor further."
|
||
msgstr ""
|
||
"آنها اشتباهات مختلفی را می گیرند. تغییر نوع می تواند دستورالعمل های تولید "
|
||
"شده را تغییر دهد. تغییر مالکیت می تواند دو قسمت از بازی را با استفاده از "
|
||
"نسخه های مختلف حالت ترک کند. نگه داشتن هر دو چک در دسترس به عامل یک شکست "
|
||
"مشخص برای تحقیق قبل از حمل یک refactor بیشتر می دهد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:790
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"A name needs evidence of its own. An exact comparison cannot tell us whether"
|
||
" a field really means “invulnerability time.” We have to establish that from"
|
||
" how the game writes and uses it. If the meaning remains uncertain, a "
|
||
"neutral name is more helpful to the next reader than a confident guess."
|
||
msgstr ""
|
||
"يه اسم به شواهد خودش نياز داره مقایسه دقیق نمی تواند به ما بگوید که آیا یک "
|
||
"میدان واقعا به معنی \"زمان آسیب پذیری است. ما باید این را از نحوه نوشتن و "
|
||
"استفاده از بازی ثابت کنیم. اگر معنی نامشخص باقی بماند ، یک نام بی طرف برای "
|
||
"خواننده بعدی مفیدتر از یک حدس مطمئن است."
|
||
|
||
#. {ph0}: <a href="https://github.com/N0zoM1z0/touhou-reconstruction-
|
||
#. factory/blob/717e1b8560783ed17a39fdf159d30aa16bb307a7/docs/semantic-
|
||
#. reconstruction.md" >
|
||
#. {ph1}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:797
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"We learned this order through the projects. TH08 already had playable ports "
|
||
"before some of its later historical-platform audits. That made certain "
|
||
"defects harder to see. The {ph0}Factory's current workflow{ph1} puts the "
|
||
"original-platform build first, so semantic work can use it as a reference "
|
||
"before porting begins."
|
||
msgstr ""
|
||
"ما این نظم را از طریق پروژه ها یاد گرفتیم. TH08 قبل از برخی از حسابرسی های "
|
||
"بعدی پلتفرم تاریخی خود ، پورت های قابل بازی داشت. این باعث شد که دیدن نقص "
|
||
"های خاصی سخت تر شود. این {ph0}جریان کاری فعلی کارخانه{ph1} ساخت پلتفرم اصلی "
|
||
"را در اولویت قرار می دهد ، بنابراین کار معنایی می تواند از آن به عنوان مرجع "
|
||
"قبل از شروع پورت استفاده کند."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/blog/touhou-reconstruction/index.html:808
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Exact reconstruction gives us a reference. Semantic reconstruction "
|
||
"makes the recovered knowledge usable.{ph1} A port can then build on both."
|
||
msgstr ""
|
||
"{ph0}بازسازی دقیق به ما مرجع می دهد. بازسازی معنایی دانش بازیابی شده را قابل"
|
||
" استفاده می کند.{ph1} سپس یک پورت می تواند بر روی هر دو ساخته شود."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:817
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "What makes this an industrial shift"
|
||
msgstr "چه چیزی این را به یک تغییر صنعتی تبدیل می کند ؟"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:818
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"These projects changed where I spent my attention. Once agents could carry "
|
||
"much of an investigation forward, improving their working environment became"
|
||
" one of the most useful things I could do. A better tool could help with "
|
||
"every later function that needed it."
|
||
msgstr ""
|
||
"این پروژه ها جایی که من توجهم را صرف کردم تغییر کردند. وقتی ماموران می "
|
||
"توانستند تحقیقات زیادی را به جلو ببرند ، بهبود محیط کارشان یکی از مفیدترین "
|
||
"کارهایی بود که می توانستم انجام دهم. یک ابزار بهتر می تواند در هر عملکرد "
|
||
"بعدی که به آن نیاز دارد کمک کند."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:825
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"Autonomy matters here. The useful next step often becomes clear only after a"
|
||
" failed experiment. An agent needs enough freedom to follow that result "
|
||
"somewhere unexpected. If it has to wait for me to prescribe each step, much "
|
||
"of the work remains tied to my attention."
|
||
msgstr ""
|
||
"استقلال اینجا مهمه مرحله بعدی مفید اغلب تنها پس از یک آزمایش شکست خورده روشن"
|
||
" می شود. یک مامور به آزادی کافی برای پیروی از این نتیجه در جایی غیر منتظره "
|
||
"نیاز دارد. اگر باید منتظر بمانم تا هر مرحله را تجویز کنم ، بیشتر کار به توجه"
|
||
" من وابسته است."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:832
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"I expect the agent to make wrong hypotheses. What matters is whether we can "
|
||
"test them and learn from the result. A failed check should help it "
|
||
"understand the mistake well enough to try again. I still have to decide "
|
||
"whether the accumulated evidence supports a project milestone."
|
||
msgstr ""
|
||
"انتظار دارم که مامور فرضيه هاي اشتباهي بکنه مهم این است که آیا ما می توانیم "
|
||
"آنها را آزمایش کنیم و از نتیجه یاد بگیریم. چک شکست خورده باید به آن کمک کند "
|
||
"تا اشتباه را به اندازه کافی خوب درک کند تا دوباره امتحان کند. هنوز بايد "
|
||
"تصميم بگيرم که آيا شواهد جمع شده از يک نقطه عطف پروژه حمايت ميکنه يا نه"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:839
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"REA gives the agent access to analysis tools. A question about a function's "
|
||
"caller can lead straight into inspecting that caller. The reconstruction "
|
||
"project supplies the compiler and its own reference checks. The agent can "
|
||
"use those to test the source it proposes and see where its explanation holds"
|
||
" up."
|
||
msgstr ""
|
||
"REA به عامل دسترسی به ابزارهای تجزیه و تحلیل را می دهد. یک سوال در مورد تماس"
|
||
" گیرنده یک تابع می تواند مستقیما به بازرسی آن تماس گیرنده منجر شود. پروژه "
|
||
"بازسازی کامپایلر و چک های مرجع خود را تامین می کند. مامور می تواند از آن ها "
|
||
"برای تست منبع پیشنهادی خود استفاده کند و ببیند که توضیح آن در کجا قرار دارد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:846
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The TH08 bug shows why those checks deserve engineering attention of their "
|
||
"own. When the same comparison is used across hundreds of functions, a gap in"
|
||
" it can spread much further than a mistake in one implementation. Testing "
|
||
"the checker improves the feedback available to all that later work."
|
||
msgstr ""
|
||
"باگ TH08 نشان می دهد که چرا این چک ها مستحق توجه مهندسی خود هستند. هنگامی که"
|
||
" همان مقایسه در صدها تابع استفاده می شود ، شکاف در آن می تواند بسیار بیشتر "
|
||
"از یک اشتباه در یک پیاده سازی گسترش یابد. تست چک کننده بازخورد موجود برای "
|
||
"تمام کارهای بعدی را بهبود می بخشد."
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://collection.sciencemuseumgroup.org.uk/objects/co51439/watts-
|
||
#. steam-engine-indicator" >
|
||
#. {ph1}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:853
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The industrial analogy has a useful historical example here. Boulton and "
|
||
"Watt introduced a {ph0}steam-engine indicator in 1796{ph1} to help adjust "
|
||
"engine valves. A recording version traced pressure through the piston "
|
||
"stroke. It made the engine's internal behavior available for inspection. Our"
|
||
" comparison tools serve a similar purpose: they let us examine what the "
|
||
"machinery is doing while we improve it."
|
||
msgstr ""
|
||
"تشبیه صنعتی در اینجا یک مثال تاریخی مفید دارد. بولتون و وات یک {ph0}نشانگر "
|
||
"موتور بخار در سال 1796{ph1} برای کمک به تنظیم دریچه های موتور. نسخه ضبط شده "
|
||
"فشار را از طریق ضربه پیستون ردیابی می کرد. رفتار داخلی موتور را برای بازرسی "
|
||
"در دسترس قرار داد. ابزار مقایسه ما به یک هدف مشابه خدمت می کند: آنها به ما "
|
||
"اجازه می دهند تا بررسی کنیم که ماشین آلات چه کاری انجام می دهند در حالی که "
|
||
"ما آن را بهبود می بخشیم."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/blog/touhou-reconstruction/index.html:866
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}We are in the early stages of this industrial shift.{ph1} Much of the "
|
||
"infrastructure is still immature. Agents can move faster than our checks "
|
||
"were designed to support, so the process has to develop alongside them. When"
|
||
" we find a defect in a shared tool, we have to repair it and revisit the "
|
||
"results it affected. The next project can then inherit a stronger tool."
|
||
msgstr ""
|
||
"{ph0}ما در مراحل اولیه این تغییر صنعتی هستیم.{ph1} بخش عمده ای از زیرساخت ها"
|
||
" هنوز نابالغ هستند. ماموران می توانند سریع تر از چک های ما حرکت کنند که برای"
|
||
" پشتیبانی طراحی شده اند ، بنابراین این فرآیند باید در کنار آنها توسعه یابد. "
|
||
"وقتی یک نقص در یک ابزار مشترک پیدا می کنیم ، باید آن را تعمیر کنیم و نتایج "
|
||
"تحت تاثیر آن را دوباره بررسی کنیم. پروژه بعدی می تواند یک ابزار قوی تر را به"
|
||
" ارث ببرد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:876
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"There is also a practical limit to any one conversation. It will end before "
|
||
"a large reconstruction is finished. The repository has to make it possible "
|
||
"for another session to continue without losing the reason for the last "
|
||
"decision."
|
||
msgstr ""
|
||
"همچنین یک محدودیت عملی برای هر مکالمه وجود دارد. قبل از اینکه یک بازسازی "
|
||
"بزرگ به پایان برسد ، پایان خواهد یافت. مخزن کد منبع باید امکان ادامه جلسه "
|
||
"دیگری را بدون از دست دادن دلیل تصمیم قبلی فراهم کند."
|
||
|
||
#. {ph0}: <a href="https://github.com/N0zoM1z0/touhou-reconstruction-factory"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:882
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The {ph0}Touhou Reconstruction Factory{ph1} grew out of that need. It gives "
|
||
"projects a shared way to carry their checks and lessons forward. Work on one"
|
||
" game can improve the starting conditions for another."
|
||
msgstr ""
|
||
"این {ph0}کارخانه بازسازی توهو{ph1} از این نیاز رشد کرد. این به پروژه ها یک "
|
||
"راه مشترک برای حمل چک ها و درس های خود را به جلو می دهد. کار بر روی یک بازی "
|
||
"می تواند شرایط شروع را برای دیگری بهبود بخشد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:892
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"That is what makes the industrial analogy meaningful to me. Experience "
|
||
"starts becoming part of tools that others can use. Improving those tools "
|
||
"changes how much the next person—or the next agent—can get done."
|
||
msgstr ""
|
||
"این چیزی است که تشبیه صنعتی را برای من معنی دار می کند. تجربه شروع به تبدیل "
|
||
"شدن به بخشی از ابزارهایی می کند که دیگران می توانند از آن استفاده کنند. "
|
||
"بهبود این ابزارها ، میزان کاری که فرد بعدی یا نماینده بعدی می تواند انجام "
|
||
"دهد را تغییر می دهد."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:900
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "The projects we can now consider"
|
||
msgstr "پروژه هایی که اکنون می توانیم در نظر بگیریم"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:901
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The pace matters because it changes the decision to begin. A game could be "
|
||
"fascinating to reverse engineer and still demand more of my own attention "
|
||
"than I could realistically give it. Many projects would stay ideas."
|
||
msgstr ""
|
||
"سرعت مهم است چون تصمیم برای شروع را تغییر می دهد. یک بازی می تواند برای "
|
||
"مهندسی معکوس جذاب باشد و هنوز هم نیاز به توجه بیشتر از آنچه که من می توانم "
|
||
"به طور واقع گرایانه به آن بدهم. بسیاری از پروژه ها ایده ها را حفظ می کنند."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:907
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"Now I can see a way to keep such a project moving through repeated "
|
||
"investigations. Getting a working reconstruction makes a port more "
|
||
"practical. Recovering readable semantics makes it easier for someone else to"
|
||
" explore a mod. The effort put into understanding the game can keep paying "
|
||
"off after the first version runs."
|
||
msgstr ""
|
||
"حالا می توانم راهی برای ادامه چنین پروژه ای در تحقیقات مکرر ببینم. بازسازی "
|
||
"کار یک پورت نرم افزار را عملی تر می کند. بازیابی معناشناسی قابل خواندن ، کشف"
|
||
" یک مود را برای شخص دیگری آسان تر می کند. تلاش برای درک بازی می تواند پس از "
|
||
"اجرای نسخه اول ادامه یابد."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/blog/touhou-reconstruction/index.html:914
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"I now look at an unfamiliar program and ask: {ph0}what access, feedback and "
|
||
"accumulated knowledge would let an agent work on this reliably?{ph1}"
|
||
msgstr ""
|
||
"حالا به برنامه ای ناآشنا نگاه می کنم و می پرسم: {ph0}چه دسترسی ، بازخورد و "
|
||
"دانش انباشته شده ای به یک نماینده اجازه می دهد تا به طور قابل اعتماد روی این"
|
||
" کار کند ؟ {ph1}"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:921
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"That question makes me consider projects I would previously have left alone."
|
||
" Each one can improve the way we approach the next. I want to keep exploring"
|
||
" how far that can take us."
|
||
msgstr ""
|
||
"این سوال باعث می شود پروژه هایی را در نظر بگیرم که قبلا تنها می ماندم. "
|
||
"هرکدام می توانند روش برخورد ما با روش بعدی را بهبود ببخشند. ميخوام به کاوش "
|
||
"ادامه بدم که چقدر ميتونه ما رو ببره"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:929
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Project milestones and sources"
|
||
msgstr "نقاط عطف و منابع پروژه"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:930
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"The dates describe recorded project checkpoints, checked against public "
|
||
"GitHub history on 10 October 2026. Elapsed time is calendar time between "
|
||
"commits. Source presence, exact comparisons, a build and a runtime result "
|
||
"each name a different milestone."
|
||
msgstr ""
|
||
"این تاریخ ها نقاط بازرسی ثبت شده پروژه را توصیف می کنند که در تاریخ 10 اکتبر"
|
||
" 2026 با تاریخچه عمومی GitHub بررسی شده است. زمان سپری شده زمان تقویم بین "
|
||
"commits است. حضور منبع ، مقایسه دقیق ، ساخت و نتیجه زمان اجرا هر نام یک نقطه"
|
||
" عطف متفاوت است."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <a
|
||
#. href="https://github.com/N0zoM1z0/th08/commit/001bf3e9c91cc35b79c7a0e36b3565b86f494362"
|
||
#. >
|
||
#. {ph3}: </a >
|
||
#. {ph4}: <a
|
||
#. href="https://github.com/N0zoM1z0/th08/blob/15caba73df6735fc44eac4783bc61b8d098ea830/docs/PROGRESS.md"
|
||
#. >
|
||
#. {ph5}: </a >
|
||
#. {ph6}: <a
|
||
#. href="https://github.com/N0zoM1z0/th08/commit/da07b21c8cb63230142b0a66228d6aac66555f3f"
|
||
#. >
|
||
#. {ph7}: </a >
|
||
#. {ph8}: <a
|
||
#. href="https://github.com/N0zoM1z0/th08/commit/529eb1a3afa05ae36467731eaccb12e3e50e132f"
|
||
#. >
|
||
#. {ph9}: </a >
|
||
#. {ph10}: <a
|
||
#. href="https://github.com/N0zoM1z0/th08/releases/tag/v0.2.0-linux-64bit" >
|
||
#. {ph11}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:938
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}TH08:{ph1} {ph2}13 August continuation{ph3}, {ph4}19 August source "
|
||
"ledger{ph5}, {ph6}24 August Linux port{ph7}, {ph8}26 August Web "
|
||
"edition{ph9}, and {ph10}30 August 64-bit Linux release{ph11}."
|
||
msgstr ""
|
||
"{ph0} TH08 :{ph1} {ph2}13 آگوست ادامه{ph3}, {ph4}19 آگوست منبع دفتر کل{ph5},"
|
||
" {ph6}24 اوت Linux پورت{ph7}, {ph8}26 آگوست نسخه وب{ph9} و {ph10}30 آگوست "
|
||
"نسخه 64 بیتی Linux{ph11}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <a
|
||
#. href="https://github.com/N0zoM1z0/th095/blob/8c31e6f892d945423b7f7b439747a2bd915f82d8/docs/PROGRESS.md"
|
||
#. >
|
||
#. {ph3}: </a >
|
||
#. {ph4}: <a
|
||
#. href="https://github.com/N0zoM1z0/th095/blob/0fa857fb2b2ec6237732e4d6be8d0a28069c9330/docs/PROGRESS.md"
|
||
#. >
|
||
#. {ph5}: </a >
|
||
#. {ph6}: <a
|
||
#. href="https://github.com/N0zoM1z0/th095/blob/74baddfccb712d1311a4d6e7487a63cd1100452e/docs/PROGRESS.md"
|
||
#. >
|
||
#. {ph7}: </a >
|
||
#. {ph8}: <a
|
||
#. href="https://github.com/N0zoM1z0/th095/commit/33d46a0ee48f37060d973125a1a7632a40f8d998"
|
||
#. >
|
||
#. {ph9}: </a >
|
||
#. {ph10}: <a
|
||
#. href="https://github.com/N0zoM1z0/th095/blob/3442dcf29d9e0b5bef384a49bd0c9ad32a711826/docs/WHOLE_BUILD_TODO.md"
|
||
#. >
|
||
#. {ph11}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:961
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}TH095:{ph1} {ph2}29 August initial ledger{ph3}, {ph4}7 September source"
|
||
" ledger{ph5}, {ph6}8 September comparisons{ph7}, {ph8}9 September "
|
||
"linkage{ph9}, and {ph10}10 September playable-build record{ph11}."
|
||
msgstr ""
|
||
"{ph0} TH095 :{ph1} {ph2}29 آگوست دفتر اولیه{ph3}, {ph4}7 سپتامبر منبع دفتر "
|
||
"کل{ph5}, {ph6}8 سپتامبر مقایسه{ph7}, {ph8}9 سپتامبر ارتباط{ph9} و {ph10}10 "
|
||
"سپتامبر قابل پخش-رکورد ساخت{ph11}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <a
|
||
#. href="https://github.com/N0zoM1z0/th04/blob/bb9faca54e2eb3c0d6c757c75d59ac29d2cd5e93/docs/RE_HANDOFF.md"
|
||
#. >
|
||
#. {ph3}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:984
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}TH04:{ph1} {ph2}10 October handoff{ph3} records the working DOS "
|
||
"reconstruction, the maintainer's complete Normal-route testing and the "
|
||
"current 64-bit phase."
|
||
msgstr ""
|
||
"{ph0} TH04 :{ph1} {ph2}10 اکتبر تحویل{ph3} بازسازی dos کاری ، تست کامل مسیر "
|
||
"عادی نگهدارنده و مرحله 64 بیتی فعلی را ثبت می کند."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <a href="https://github.com/N0zoM1z0/th08/issues/10" >
|
||
#. {ph3}: </a >
|
||
#. {ph4}: <a
|
||
#. href="https://github.com/N0zoM1z0/th08/commit/7148a76ba224742677895c7160807a68897957d5"
|
||
#. >
|
||
#. {ph5}: </a >
|
||
#. {ph6}: <a
|
||
#. href="https://github.com/N0zoM1z0/th08/commit/a393f400786e4cc6cbb1000af0dad3276da12c78"
|
||
#. >
|
||
#. {ph7}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:993
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}TH08 oracle correction:{ph1} {ph2}the reported auto-collection "
|
||
"bug{ph3}, {ph4}the source and comparison fix{ph5}, and {ph6}the full "
|
||
"floating-literal audit{ph7}."
|
||
msgstr ""
|
||
"{ph0} TH08 مرجع تأیید (اوراکل) اصلاح:{ph1} {ph2}گزارش شده باگ جمع آوری "
|
||
"خودکار{ph3}, {ph4}منبع و اصلاح مقایسه{ph5} و {ph6}حسابرسی مداوم کامل نقطه "
|
||
"شناور{ph7}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <a
|
||
#. href="https://github.com/N0zoM1z0/th08/blob/d2a00f4acb4a13916e07a00bd13f714961714628/docs/SEMANTIC_PLAYBOOK.md"
|
||
#. >
|
||
#. {ph3}: </a >
|
||
#. {ph4}: <a href="https://github.com/N0zoM1z0/touhou-reconstruction-
|
||
#. factory/blob/717e1b8560783ed17a39fdf159d30aa16bb307a7/docs/semantic-
|
||
#. reconstruction.md" >
|
||
#. {ph5}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:1007
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Semantic reconstruction:{ph1} {ph2}TH08's readability playbook{ph3} and"
|
||
" {ph4}the Factory's phase order and two validation paths{ph5}."
|
||
msgstr ""
|
||
"{ph0}بازسازی معنایی:{ph1} {ph2} کتاب بازی قابلیت خواندن TH08{ph3} و "
|
||
"{ph4}سفارش فاز کارخانه و دو مسیر اعتبارسنجی{ph5}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <a
|
||
#. href="https://collection.sciencemuseumgroup.org.uk/objects/co51439/watts-
|
||
#. steam-engine-indicator" >
|
||
#. {ph3}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:1019
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Industrial history:{ph1} {ph2}the Science Museum Group's steam-engine "
|
||
"indicator record{ph3} describes the 1796 introduction and the pressure-"
|
||
"recording mechanism."
|
||
msgstr ""
|
||
"{ph0}تاریخچه صنعتی:{ph1} {ph2}رکورد شاخص موتور بخار گروه موزه علوم{ph3} "
|
||
"مقدمه سال 1796 و مکانیسم ضبط فشار را توصیف می کند."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <a href="https://github.com/N0zoM1z0/touhou-reconstruction-
|
||
#. factory/blob/038b6bed51d273c8b3680553b6f43e1b97d19bd1/docs/agent-
|
||
#. autonomy.md" >
|
||
#. {ph3}: </a >
|
||
#. {ph4}: <a href="https://github.com/N0zoM1z0/touhou-reconstruction-
|
||
#. factory/blob/038b6bed51d273c8b3680553b6f43e1b97d19bd1/docs/knowledge-
|
||
#. base.md" >
|
||
#. {ph5}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:1028
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"{ph0}Method:{ph1} the Factory's {ph2}agent autonomy{ph3} and {ph4}cross-game"
|
||
" knowledge{ph5} documents retain the working principles and lessons."
|
||
msgstr ""
|
||
"{ph0}روش:{ph1} کارخانه {ph2}خودمختاری عامل{ph3} و {ph4}دانش بازی های "
|
||
"متقابل{ph5} اسناد اصول و درس های کاری را حفظ می کنند."
|
||
|
||
#. {ph0}: <a class="text-link" href="../">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a class="text-link" href="../../showcase/th04/" >
|
||
#. {ph3}: </a >
|
||
#: website/public/blog/touhou-reconstruction/index.html:1043
|
||
#, python-brace-format
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "{ph0}More articles{ph1} · {ph2}Explore a TH04 investigation{ph3}"
|
||
msgstr "{ph0}مقالات بیشتر{ph1} · {ph2}بررسی تحقیقات TH04{ph3}"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:6
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Reverse Engineering’s Industrial Revolution — REA"
|
||
msgstr "انقلاب صنعتی مهندسی معکوس-REA"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:7
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid ""
|
||
"N0zoM1z0 reflects on manual reverse engineering, Touhou reconstruction with "
|
||
"AI agents, and how knowledge compounds across TH08, TH095 and PC-98 TH04."
|
||
msgstr ""
|
||
"N0zoM1z0 در مهندسی معکوس دستی ، بازسازی Touhou با عوامل هوش مصنوعی و چگونگی "
|
||
"ترکیبات دانش در TH08 ، TH095 و PC-98 TH04 منعکس می شود ."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:337
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Experience carried between projects"
|
||
msgstr "تجربه انجام شده بین پروژه ها"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:351
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:366
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Touhou reconstruction essay"
|
||
msgstr "مقاله بازسازی توهو"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:1067
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/examples/dino-lab/index.html:100
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../../">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <span>
|
||
#. {ph3}: </span>
|
||
#: website/public/examples/dino-lab/index.html:182
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "{ph0}Home{ph1}{ph2}/{ph3}Dinosaur speed lab"
|
||
msgstr "{ph0}خانه{ph1}{ph2}/{ph3}آزمایشگاه سرعت دایناسور"
|
||
|
||
#: website/public/examples/dino-lab/index.html:185
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Inspect → rebuild → change"
|
||
msgstr "بازرسی → بازسازی → تغییر"
|
||
|
||
#: website/public/examples/dino-lab/index.html:186
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Rebuild the dinosaur’s speed rule."
|
||
msgstr "قانون سرعت دایناسور رو دوباره بساز"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <mark class="prose-highlight">
|
||
#. {ph3}: </mark>
|
||
#: website/public/examples/dino-lab/index.html:187
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"To recreate the game’s acceleration, first find the rule that controls its "
|
||
"speed. {ph0}REA returned the running script;{ph1} we used its rule to build "
|
||
"this mini-game with {ph2}adjustable speed.{ph3}"
|
||
msgstr ""
|
||
"برای بازسازی شتاب بازی ، ابتدا قاعده ای را پیدا کنید که سرعت آن را کنترل می "
|
||
"کند. {ph0} REA اسکریپت در حال اجرا بازگشت;{ph1} ما از قاعده اش برای ساخت این"
|
||
" مینی بازی با {ph2}سرعت قابل تنظیم{ph3}"
|
||
|
||
#: website/public/examples/dino-lab/index.html:196
|
||
#: website/public/examples/dino-lab/index.html:195
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#. {ph0}: <a href="#play">
|
||
#. {ph1}: </a>
|
||
#: website/public/examples/dino-lab/index.html:198
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "{ph0}Play and change the speed{ph1}"
|
||
msgstr "{ph0}بازی و تغییر سرعت{ph1}"
|
||
|
||
#. {ph0}: <a href="#rule">
|
||
#. {ph1}: </a>
|
||
#: website/public/examples/dino-lab/index.html:199
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "{ph0}Read the recovered rule{ph1}"
|
||
msgstr "{ph0}قانون بازیابی شده را بخوانید{ph1}"
|
||
|
||
#. {ph0}: <a href="#check">
|
||
#. {ph1}: </a>
|
||
#: website/public/examples/dino-lab/index.html:200
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "{ph0}Check the reconstruction{ph1}"
|
||
msgstr "{ph0}بازسازی را بررسی کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#inspect">
|
||
#. {ph1}: </a>
|
||
#: website/public/examples/dino-lab/index.html:201
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "{ph0}Try the analysis{ph1}"
|
||
msgstr "{ph0}تجزیه و تحلیل را امتحان کنید{ph1}"
|
||
|
||
#: website/public/examples/dino-lab/index.html:206
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Play and change the speed"
|
||
msgstr "بازی و تغییر سرعت"
|
||
|
||
#: website/public/examples/dino-lab/index.html:207
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"Press Play, then jump over the cactus. Move the speed slider to try a slower"
|
||
" or faster game; it switches to a fixed speed. Select the recovered rule to "
|
||
"start at 6 and gradually accelerate again."
|
||
msgstr ""
|
||
"بازی را فشار دهید ، سپس از روی کاکتوس بپرید. حرکت لغزنده سرعت به سعی کنید یک"
|
||
" بازی کندتر و یا سریع تر; آن را به یک سرعت ثابت سوئیچ. قانون بازیابی شده را "
|
||
"انتخاب کنید تا از 6 شروع شود و به تدریج دوباره تسریع شود."
|
||
|
||
#: website/public/examples/dino-lab/index.html:213
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Play the reconstruction"
|
||
msgstr "نسخهٔ بازسازیشده را بازی کنید"
|
||
|
||
#: website/public/examples/dino-lab/index.html:245
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Play"
|
||
msgstr "بازی"
|
||
|
||
#: website/public/examples/dino-lab/index.html:248
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Jump ↑"
|
||
msgstr "پرش ↑"
|
||
|
||
#: website/public/examples/dino-lab/index.html:249
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Restart"
|
||
msgstr "شروع دوباره"
|
||
|
||
#: website/public/examples/dino-lab/index.html:252
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Speed"
|
||
msgstr "سرعت"
|
||
|
||
#: website/public/examples/dino-lab/index.html:262
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Use the recovered acceleration rule"
|
||
msgstr "از قانون شتاب بازیابی شده استفاده کنید"
|
||
|
||
#: website/public/examples/dino-lab/index.html:266
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Original rule: start at 6, then increase toward 13."
|
||
msgstr "قانون اصلی: از 6 شروع کنید ، سپس به سمت 13 افزایش دهید."
|
||
|
||
#: website/public/examples/dino-lab/index.html:269
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Move the slider to set your own speed. Space or Jump clears a cactus."
|
||
msgstr ""
|
||
"نوار لغزنده را حرکت دهید تا سرعت خود را تنظیم کنید. فضا یا پرش یک کاکتوس را "
|
||
"پاک می کند."
|
||
|
||
#: website/public/examples/dino-lab/index.html:274
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"Enable JavaScript to play the reconstruction. The code and explanation above"
|
||
" remain readable."
|
||
msgstr ""
|
||
"JavaScript را قادر به بازی بازسازی کنید. کد و توضیح بالا قابل خواندن است."
|
||
|
||
#: website/public/examples/dino-lab/index.html:282
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Read the script REA returned"
|
||
msgstr "خواندن اسکریپت REA بازگشت"
|
||
|
||
#. {ph0}: <a href="https://wayou.github.io/t-rex-runner/" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <code>index.js</code>
|
||
#: website/public/examples/dino-lab/index.html:283
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"We inspected {ph0}wayou’s Chromium-derived browser edition{ph1} with REA. It"
|
||
" returned the loaded {ph2}, including this branch in the game’s update "
|
||
"function:"
|
||
msgstr ""
|
||
"ما بازرسی کردیم {ph0}نسخه مرورگر مشتق شده از Chromium wayou{ph1} با REA . "
|
||
"اون بار رو برگردوند {ph2}، شامل این شاخه در تابع به روز رسانی بازی:"
|
||
|
||
#. {ph0}: <code>SPEED: 6</code>
|
||
#. {ph1}: <code>ACCELERATION: 0.001</code>
|
||
#. {ph2}: <code>MAX_SPEED: 13</code>
|
||
#: website/public/examples/dino-lab/index.html:299
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"The settings are {ph0}, {ph1} and {ph2}. The game runs this branch on an "
|
||
"update without a collision."
|
||
msgstr ""
|
||
"تنظیمات: {ph0}, {ph1} و {ph2}. این بازی این شاخه را در یک به روزرسانی بدون "
|
||
"برخورد اجرا می کند."
|
||
|
||
#: website/public/examples/dino-lab/index.html:304
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Use the same rule in the new game"
|
||
msgstr "از همان قانون در بازی جدید استفاده کنید"
|
||
|
||
#: website/public/examples/dino-lab/index.html:310
|
||
#: website/public/examples/dino-lab/index.html:409
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#: website/public/examples/dino-lab/index.html:323
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"The mini-game uses this function for automatic acceleration. Moving the "
|
||
"slider supplies a fixed speed instead. Drawing, jump physics and rectangle "
|
||
"collision checks are new code for this teaching game; its simulation "
|
||
"advances at 60 updates per second."
|
||
msgstr ""
|
||
"مینی بازی از این تابع برای شتاب خودکار استفاده می کند. حرکت دادن اسلایدر به "
|
||
"جای آن سرعت ثابت را فراهم می کند. طراحی ، فیزیک پرش و بررسی برخورد مستطیل کد"
|
||
" جدیدی برای این بازی آموزشی است ؛ شبیه سازی آن با 60 به روزرسانی در ثانیه "
|
||
"پیشرفت می کند."
|
||
|
||
#. {ph0}: <a href="../../assets/dino-speed.js" download >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="../../assets/dino-demo.js">
|
||
#. {ph3}: </a>
|
||
#: website/public/examples/dino-lab/index.html:329
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "{ph0}Download the speed rule{ph1} · {ph2}Read the game code{ph3}"
|
||
msgstr "{ph0}دانلود قانون سرعت{ph1} · {ph2}کد بازی را بخوانید{ph3}"
|
||
|
||
#: website/public/examples/dino-lab/index.html:337
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Check the reconstruction"
|
||
msgstr "بازسازی را بررسی کنید"
|
||
|
||
#: website/public/examples/dino-lab/index.html:338
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"We called the original game’s update function with obstacles and automatic "
|
||
"scheduling disabled. Compare those recorded speeds with a replay of the "
|
||
"recovered rule."
|
||
msgstr ""
|
||
"ما عملکرد به روز رسانی بازی اصلی را با موانع و برنامه ریزی خودکار غیرفعال "
|
||
"نامیدیم. این سرعت های ثبت شده را با تکرار قانون بازیابی شده مقایسه کنید."
|
||
|
||
#: website/public/examples/dino-lab/index.html:347
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Updates"
|
||
msgstr "به روز رسانی"
|
||
|
||
#: website/public/examples/dino-lab/index.html:348
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Original game"
|
||
msgstr "بازی اصلی"
|
||
|
||
#: website/public/examples/dino-lab/index.html:349
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Reconstructed rule"
|
||
msgstr "قانون بازسازی شده"
|
||
|
||
#: website/public/examples/dino-lab/index.html:376
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Run the speed check"
|
||
msgstr "بررسی سرعت را اجرا کنید"
|
||
|
||
#: website/public/examples/dino-lab/index.html:379
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"Values rounded to three decimals. The branch checks before adding, so the "
|
||
"final increment can take speed just above 13."
|
||
msgstr ""
|
||
"مقادیر به سه اعشاری گردآوری شده است. شاخه قبل از اضافه کردن چک می کند ، "
|
||
"بنابراین افزایش نهایی می تواند سرعت را کمی بالاتر از 13 بگیرد."
|
||
|
||
#: website/public/examples/dino-lab/index.html:385
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Try the analysis yourself"
|
||
msgstr "تجزیه و تحلیل را خودتان امتحان کنید"
|
||
|
||
#. {ph0}: <a href="../../get-started/">
|
||
#. {ph1}: </a>
|
||
#: website/public/examples/dino-lab/index.html:387
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "{ph0}Set up REA{ph1} with your coding agent."
|
||
msgstr "{ph0}راه اندازی REA {ph1} با عامل برنامه نویسی خود را."
|
||
|
||
#. {ph0}: <a href="../../guides/browser/#prepare" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <code>https://wayou.github.io/t-rex-runner/</code>
|
||
#: website/public/examples/dino-lab/index.html:391
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"Follow the {ph0}browser connection steps{ph1}, using {ph2} as the page URL."
|
||
msgstr ""
|
||
"دنبال کنید {ph0}مراحل اتصال مرورگر{ph1}، با استفاده از {ph2} به عنوان URL "
|
||
"صفحه."
|
||
|
||
#: website/public/examples/dino-lab/index.html:398
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"Give your agent the page URL and local debugging endpoint, then copy this "
|
||
"prompt."
|
||
msgstr ""
|
||
"به نماینده خود URL صفحه و نقطه پایان اشکال زدایی محلی را بدهید ، سپس این "
|
||
"دستور را کپی کنید."
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/examples/dino-lab/index.html:405
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="lab-analysis-prompt" >
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph5}: </span>
|
||
#: website/public/examples/dino-lab/index.html:418
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to inspect this dinosaur game. Why does it get "
|
||
"faster? Show the speed rule, then build a small version with an adjustable "
|
||
"speed.{ph3}{ph4}{ph5}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}برای بازرسی این بازی دایناسور از REA استفاده کنید. چرا سریع "
|
||
"تر می شود ؟ قانون سرعت را نشان دهید ، سپس یک نسخه کوچک با سرعت قابل تنظیم "
|
||
"بسازید.{ph3}{ph4}{ph5}"
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/examples/dino-lab/index.html:427
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"Ask a follow-up: {ph0}“Where is jump height calculated? Add a jump-height "
|
||
"control to the new version.”{ph1}"
|
||
msgstr ""
|
||
"درخواست پیگیری: {ph0}\"ارتفاع پرش کجا محاسبه می شود ؟ اضافه کردن کنترل "
|
||
"ارتفاع پرش به نسخه جدید.”{ph1}"
|
||
|
||
#. {ph0}: <a href="https://github.com/wayou/t-rex-
|
||
#. runner/blob/5455bfa408ec6b707c7300ff194b7390733a766d/index.js#L565-L571" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="../../assets/licenses/dinosaur.txt" >
|
||
#. {ph3}: </a >
|
||
#: website/public/examples/dino-lab/index.html:434
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"Source: {ph0}inspected speed code{ph1}, Chromium Authors. {ph2}Copyright and"
|
||
" BSD license{ph3}. REA 4.1.0 inspected the running HTTP edition in Chrome "
|
||
"150."
|
||
msgstr ""
|
||
"منبع: {ph0}کد سرعت بازرسی شده{ph1}، نویسندگان Chromium. {ph2}کپی رایت و مجوز"
|
||
" BSD{ph3}. REA 4.1.0 نسخه http در حال اجرا را در Chrome 150 بازرسی کرد."
|
||
|
||
#: website/public/examples/dino-lab/index.html:6
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Chrome Dinosaur Game: Rebuild Its Speed Rule — REA"
|
||
msgstr "بازی دایناسور Chrome: قانون سرعت خود را بازسازی کنید-REA"
|
||
|
||
#: website/public/examples/dino-lab/index.html:7
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"Read the dinosaur game’s speed rule with REA, rebuild it, then change the "
|
||
"speed and play."
|
||
msgstr ""
|
||
"قانون سرعت بازی دایناسور را با REA بخوانید ، آن را بازسازی کنید ، سپس سرعت "
|
||
"را تغییر دهید و بازی کنید."
|
||
|
||
#: website/public/examples/dino-lab/index.html:204
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Dinosaur speed reconstruction"
|
||
msgstr "بازسازی سرعت دایناسور"
|
||
|
||
#: website/public/examples/dino-lab/index.html:235
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid ""
|
||
"Dinosaur mini-game. Use the Jump button or press Space while the game is "
|
||
"focused."
|
||
msgstr ""
|
||
"دایناسور مینی بازی. در حالی که بازی متمرکز است از دکمه پرش یا فضای فشار "
|
||
"استفاده کنید."
|
||
|
||
#: website/public/examples/dino-lab/index.html:310
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Copy reconstructed speed rule"
|
||
msgstr "کپی قانون سرعت بازسازی شده"
|
||
|
||
#: website/public/examples/dino-lab/index.html:409
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Copy dinosaur analysis prompt"
|
||
msgstr "کپی دایناسور تجزیه و تحلیل فوری"
|
||
|
||
#: website/public/examples/dino-lab/index.html:462
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/faq/index.html:99
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid "{ph0}Home{ph1} / FAQ"
|
||
msgstr "{ph0}خانه{ph1} / سوالات متداول"
|
||
|
||
#: website/public/faq/index.html:182
|
||
msgctxt "page:faq/index.html"
|
||
msgid "REA FAQ."
|
||
msgstr "REA سوالات متداول."
|
||
|
||
#: website/public/faq/index.html:183
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Setup, updates, analysis and troubleshooting."
|
||
msgstr "راه اندازی ، به روز رسانی ، تجزیه و تحلیل و عیب یابی."
|
||
|
||
#: website/public/faq/index.html:187
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Topics"
|
||
msgstr "موضوعات"
|
||
|
||
#. {ph0}: <a href="#setup">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:189
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid "{ph0}Setup and updates{ph1}"
|
||
msgstr "{ph0}راه اندازی و به روز رسانی{ph1}"
|
||
|
||
#. {ph0}: <a href="#analysis">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:190
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid "{ph0}Analysis{ph1}"
|
||
msgstr "{ph0}تحلیل{ph1}"
|
||
|
||
#. {ph0}: <a href="#troubleshooting">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:191
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid "{ph0}Troubleshooting{ph1}"
|
||
msgstr "{ph0}عیب یابی{ph1}"
|
||
|
||
#. {ph0}: <a href="#sharing">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:192
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid "{ph0}Data and sharing{ph1}"
|
||
msgstr "{ph0}داده ها و اشتراک گذاری{ph1}"
|
||
|
||
#: website/public/faq/index.html:201
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Setup and updates"
|
||
msgstr "راه اندازی و به روز رسانی"
|
||
|
||
#: website/public/faq/index.html:204
|
||
msgctxt "page:faq/index.html"
|
||
msgid "How do I install REA?"
|
||
msgstr "چطور REA را نصب کنم؟"
|
||
|
||
#: website/public/faq/index.html:212
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · agent setup"
|
||
msgstr "ترمینال * راه اندازی عامل"
|
||
|
||
#: website/public/faq/index.html:213 website/public/faq/index.html:254
|
||
#: website/public/faq/index.html:272 website/public/faq/index.html:356
|
||
#: website/public/faq/index.html:403 website/public/faq/index.html:443
|
||
#: website/public/faq/index.html:463
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
# Reviewed for readable setup and analysis terminology.
|
||
#. {ph0}: <a href="../get-started/">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:224
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Setup registers REA's MCP connection and installs the matching investigation"
|
||
" skill. Restart your agent when it finishes, then give it a target path and "
|
||
"a question. {ph0}Follow the setup guide{ph1} for prerequisites and your "
|
||
"first analysis."
|
||
msgstr ""
|
||
"راهاندازی، اتصال MCP مربوط به REA را ثبت و مهارت تحلیل آن را نصب میکند. پس"
|
||
" از پایان، دستیار را دوباره اجرا کنید و مسیر فایل و پرسش خود را به آن بدهید."
|
||
" پیشنیازها و مراحل اولین تحلیل در {ph0}راهنمای راهاندازی{ph1} آمده است."
|
||
|
||
#: website/public/faq/index.html:233
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Which coding agents can use REA?"
|
||
msgstr "کدام عوامل کدگذاری می توانند از REA استفاده کنند ؟"
|
||
|
||
#: website/public/faq/index.html:234
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Any agent that supports local MCP servers. Setup includes Claude Code, "
|
||
"Claude Desktop, Codex, Cursor, Gemini CLI, Windsurf, Devin, OpenCode, "
|
||
"Antigravity, GitHub Copilot CLI, Command Code, Grok Build, OMP, and VS Code."
|
||
" Grok Bot's connector is added from its chat."
|
||
msgstr ""
|
||
"هر مامور که از محلی حمایت می کنه MCP سرورها راه اندازی شامل Claude Code, "
|
||
"Claude دسکتاپ, Codex, Cursor, Gemini CLI, Windsurf, Devin, OpenCode, "
|
||
"Antigravity, GitHub Copilot CLI, Command Code, Grok Build, OMP و VS Code. "
|
||
"اتصال Grok Bot از چت آن اضافه شده است."
|
||
|
||
#. {ph0}: <a href="../get-started/#agent">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:241
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid "{ph0}Connect your coding agent{ph1}."
|
||
msgstr "{ph0}عامل برنامه نویسی خود را وصل کنید{ph1}."
|
||
|
||
#: website/public/faq/index.html:246
|
||
msgctxt "page:faq/index.html"
|
||
msgid "How do I update REA?"
|
||
msgstr "چطور REA را بهروز کنم؟"
|
||
|
||
#: website/public/faq/index.html:247
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"REA releases frequently, including bug fixes. If you installed the CLI with "
|
||
"npm:"
|
||
msgstr ""
|
||
"REA اغلب منتشر می شود ، از جمله رفع اشکال. اگر CLI را با npm نصب کرده اید :"
|
||
|
||
#: website/public/faq/index.html:253
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · installed CLI"
|
||
msgstr "ترمینال * نصب CLI"
|
||
|
||
#. {ph0}: <code>npx</code>
|
||
#: website/public/faq/index.html:265
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Follow the setup refresh command printed by the update. If you set up your "
|
||
"agent through {ph0}, run:"
|
||
msgstr ""
|
||
"دستور setup refresh چاپ شده توسط update را دنبال کنید. اگه ماموريت رو از "
|
||
"طريق {ph0}، فرار کن:"
|
||
|
||
#: website/public/faq/index.html:271
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · refresh agent setup"
|
||
msgstr "ترمینال * راه اندازی عامل تازه"
|
||
|
||
# Reviewed for readable setup and analysis terminology.
|
||
#. {ph0}: <code>npx -y rea-agents@latest</code>
|
||
#: website/public/faq/index.html:283
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Review the changes and restart your agent. Its REA connection pins a package"
|
||
" version, so refreshing setup makes it use the new release. For one-off CLI "
|
||
"commands, use {ph0} followed by the command."
|
||
msgstr ""
|
||
"تغییرات را بررسی و دستیار را دوباره اجرا کنید. اتصال REA از نسخه مشخصی از "
|
||
"بسته استفاده میکند؛ برای استفاده از نسخه جدید، راهاندازی را دوباره انجام "
|
||
"دهید. برای اجرای یک دستور CLI، دستور مورد نظر را پس از {ph0} بنویسید."
|
||
|
||
#: website/public/faq/index.html:291
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Is installing the skill from skills.sh enough?"
|
||
msgstr "نصب مهارت از skills.sh کافيه ؟"
|
||
|
||
#. {ph0}: <a href="#install">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:294
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"The skill gives your agent investigation instructions. Run {ph0}REA "
|
||
"setup{ph1} to connect the MCP server and install the matching skill, then "
|
||
"restart your agent so it can call the tools."
|
||
msgstr ""
|
||
"مهارت به مامور شما دستورالعمل تحقیق میده فرار کن {ph0} REA راه اندازی{ph1} "
|
||
"برای اتصال سرور MCP و نصب مهارت تطبیق ، سپس عامل خود را دوباره راه اندازی "
|
||
"کنید تا بتواند ابزارها را فراخوانی کند."
|
||
|
||
#: website/public/faq/index.html:305
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Analysis"
|
||
msgstr "تحلیل"
|
||
|
||
#: website/public/faq/index.html:308
|
||
msgctxt "page:faq/index.html"
|
||
msgid "What can I analyze with REA?"
|
||
msgstr "با REA چه چیزی را می توانم تجزیه و تحلیل کنم ؟"
|
||
|
||
#: website/public/faq/index.html:309
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Start with the kind of software you have:"
|
||
msgstr "با نوع نرم افزاری که دارید شروع کنید:"
|
||
|
||
#. {ph0}: <a href="../guides/native/" >
|
||
#. {ph1}: </a >
|
||
#: website/public/faq/index.html:311
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"{ph0}Native executables and libraries{ph1}: functions, assembly, pseudocode "
|
||
"and references."
|
||
msgstr ""
|
||
"{ph0}فایل های اجرایی بومی و کتابخانه ها{ph1}: توابع ، مونتاژ ، شبه کد و "
|
||
"مرجع."
|
||
|
||
#. {ph0}: <a href="../guides/javascript/" >
|
||
#. {ph1}: </a >
|
||
#: website/public/faq/index.html:316
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"{ph0}JavaScript and Electron apps{ph1}: modules, imports, IPC and source "
|
||
"locations."
|
||
msgstr ""
|
||
"{ph0} برنامه های JavaScript و Electron{ph1}: ماژول ها ، واردات ، IPC و مکان "
|
||
"های منبع."
|
||
|
||
#. {ph0}: <a href="../guides/browser/">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:321
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid "{ph0}Browser pages{ph1}: scripts, requests and runtime observations."
|
||
msgstr "{ph0}صفحات مرورگر{ph1}: اسکریپت ها ، درخواست ها و مشاهدات زمان اجرا."
|
||
|
||
#. {ph0}: <a href="../showcase/">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:326
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"REA also has workflows for managed assemblies, Android APKs, firmware and "
|
||
"packaged resources. {ph0}See the case studies{ph1} for worked "
|
||
"investigations."
|
||
msgstr ""
|
||
"REA همچنین دارای گردش کار برای مجموعه های مدیریت شده ، Apk های Android ، "
|
||
"سیستم عامل و منابع بسته بندی شده است. {ph0}مشاهده مطالعات موردی{ph1} برای "
|
||
"تحقیقات کار."
|
||
|
||
#: website/public/faq/index.html:334
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Do I need Hopper, Ghidra or IDA?"
|
||
msgstr "آیا به Hopper ، Ghidra یا IDA نیاز دارم ؟"
|
||
|
||
#: website/public/faq/index.html:335
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Deep native analysis uses one of them. Static JavaScript and .NET inspection"
|
||
" work with the supplied files and do not need a native analysis engine."
|
||
msgstr ""
|
||
"تجزیه و تحلیل عمیق برنامه های کد ماشین از یکی از آنها استفاده می کند. بازرسی"
|
||
" استاتیک JavaScript و. NET با فایل های ارائه شده کار می کنند و نیازی به "
|
||
"تجزیه و تحلیل موتور برنامه های کد ماشین ندارند."
|
||
|
||
#. {ph0}: <a href="../get-started/#native">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:340
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Connect your existing Ghidra or IDA installation, or let setup detect Hopper"
|
||
" and propose an installation. Your host and target determine which provider "
|
||
"can be used. {ph0}Set up native analysis{ph1}."
|
||
msgstr ""
|
||
"نصب Ghidra یا IDA موجود خود را وصل کنید یا اجازه دهید راه اندازی Hopper را "
|
||
"تشخیص دهد و یک نصب را پیشنهاد کند. میزبان و هدف شما تعیین می کنند که کدام "
|
||
"ارائه دهنده می تواند مورد استفاده قرار گیرد. {ph0}راه اندازی تجزیه و تحلیل "
|
||
"برنامه های کد ماشین{ph1}."
|
||
|
||
#: website/public/faq/index.html:348
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Can I use REA without a coding agent?"
|
||
msgstr "آیا می توانم از REA بدون یک عامل کدگذاری استفاده کنم ؟"
|
||
|
||
#: website/public/faq/index.html:349
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Yes. The CLI uses the same analysis workflows. For a local JavaScript or "
|
||
"Electron app:"
|
||
msgstr ""
|
||
"بله. CLI از همان جریان های کاری تجزیه و تحلیل استفاده می کند. برای یک برنامه"
|
||
" محلی JavaScript یا Electron:"
|
||
|
||
#: website/public/faq/index.html:355
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · static application analysis"
|
||
msgstr "ترمینال * تجزیه و تحلیل کاربرد استاتیک"
|
||
|
||
#. {ph0}: <a href="../get-started/#terminal">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:368
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Replace the path with an extracted application folder or ASAR file. {ph0}Use"
|
||
" the CLI{ph1} for installation options."
|
||
msgstr ""
|
||
"مسیر را با یک پوشه برنامه استخراج شده یا فایل ASAR جایگزین کنید. {ph0}از CLI"
|
||
" استفاده کنید {ph1} برای گزینه های نصب."
|
||
|
||
# Reviewed for readable setup and analysis terminology.
|
||
#: website/public/faq/index.html:375
|
||
msgctxt "page:faq/index.html"
|
||
msgid "What code does REA return?"
|
||
msgstr "REA چه کدی برمیگرداند؟"
|
||
|
||
# Reviewed for readable setup and analysis terminology.
|
||
#: website/public/faq/index.html:376
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Native analysis returns assembly and pseudocode, with calls, references and "
|
||
"relevant constants. JavaScript analysis returns modules, their relationships"
|
||
" and source locations."
|
||
msgstr ""
|
||
"تحلیل برنامههای بومی، اسمبلی و شبهکد را همراه با فراخوانی توابع، ارجاعها "
|
||
"و ثابتهای مرتبط برمیگرداند. تحلیل JavaScript ماژولها، ارتباط بین آنها و "
|
||
"محل کد منبع را برمیگرداند."
|
||
|
||
#. {ph0}: <a href="../showcase/dx-ball/#sound-pan" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="../showcase/ctf/">
|
||
#. {ph3}: </a>
|
||
#: website/public/faq/index.html:381
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Your agent uses these findings to explain the behavior or write and test an "
|
||
"implementation. The {ph0}DX-Ball calculation{ph1} and {ph2}CTF flag "
|
||
"checker{ph3} show how that process works."
|
||
msgstr ""
|
||
"نماینده شما از این یافته ها برای توضیح رفتار یا نوشتن و تست یک پیاده سازی "
|
||
"استفاده می کند. این {ph0} محاسبه DX-Ball{ph1} و {ph2}چک کننده پرچم CTF{ph3} "
|
||
"نشان دهید که این فرآیند چگونه کار می کند."
|
||
|
||
#: website/public/faq/index.html:392
|
||
msgctxt "page:faq/index.html"
|
||
msgid "What should I ask my agent?"
|
||
msgstr "از دستیار چه بپرسم؟"
|
||
|
||
#: website/public/faq/index.html:393
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Give it a local target and one behavior to investigate. For a JavaScript or "
|
||
"Electron app:"
|
||
msgstr ""
|
||
"به آن یک هدف محلی و یک رفتار برای تحقیق بدهید. برای یک برنامه JavaScript یا "
|
||
"Electron:"
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/faq/index.html:399
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#. {ph0}: <a href="../guides/">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:422
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Replace the path with your target. The {ph0}guides{ph1} provide prompts for "
|
||
"native, Electron and browser examples."
|
||
msgstr ""
|
||
"مسیر را با هدف خود جایگزین کنید. این {ph0}راهنماها{ph1} ارائه راهنمایی برای "
|
||
"نمونه های بومی ، Electron و مرورگر."
|
||
|
||
#: website/public/faq/index.html:432
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Troubleshooting"
|
||
msgstr "عیب یابی"
|
||
|
||
#: website/public/faq/index.html:435
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Why can't my agent see the REA tools?"
|
||
msgstr "چرا نماینده من نمیتونه ابزار REA رو ببینه؟"
|
||
|
||
#. {ph0}: <code>doctor</code>
|
||
#: website/public/faq/index.html:436
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Restart or reconnect your agent after setup. Check its REA registration with"
|
||
" {ph0}; for Codex:"
|
||
msgstr ""
|
||
"بعد از راه اندازی دوباره کارگزار خود را راه اندازی کنید یا دوباره وصل کنید. "
|
||
"ثبت نام REA خود را با {ph0}; برای Codex :"
|
||
|
||
#: website/public/faq/index.html:442
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · check one client"
|
||
msgstr "ترمینال * یک مشتری را بررسی کنید"
|
||
|
||
#. {ph0}: <code>codex</code>
|
||
#. {ph1}: <code>claude_code</code>
|
||
#. {ph2}: <code>cursor</code>
|
||
#: website/public/faq/index.html:454
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Replace {ph0} with your client ID, such as {ph1} or {ph2}. If the report "
|
||
"shows a missing or stale registration, run setup for that client:"
|
||
msgstr ""
|
||
"جایگزین کنید {ph0} با شناسه مشتری شما ، مانند {ph1} یا {ph2}. اگر گزارش ثبت "
|
||
"نام گمشده یا قدیمی را نشان می دهد ، برای آن مشتری تنظیم کنید:"
|
||
|
||
#: website/public/faq/index.html:462
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · repair one client's setup"
|
||
msgstr "ترمینال * تعمیر راه اندازی یک مشتری"
|
||
|
||
#. {ph0}: <a href="../get-started/#help">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:474
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Review its plan and restart the client. If registration is healthy but tools"
|
||
" remain absent, check the client's MCP connection error. {ph0}More setup "
|
||
"diagnostics{ph1}."
|
||
msgstr ""
|
||
"برنامه اش رو مرور کن و مشتری رو دوباره راه بنداز اگر ثبت نام سالم است اما "
|
||
"ابزارها وجود ندارند ، خطای اتصال MCP مشتری را بررسی کنید. {ph0}تشخیص راه "
|
||
"اندازی بیشتر{ph1}."
|
||
|
||
#: website/public/faq/index.html:482
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Do I need to start Hopper first?"
|
||
msgstr "آیا باید ابتدا Hopper را شروع کنم؟"
|
||
|
||
#. {ph0}: <a href="../get-started/#native">
|
||
#. {ph1}: </a >
|
||
#: website/public/faq/index.html:483
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"REA starts Hopper when an operation needs it. On macOS, complete the first-"
|
||
"run choice of demo mode or license activation before unattended analysis. "
|
||
"{ph0}See native provider setup{ph1}."
|
||
msgstr ""
|
||
"REA شروع Hopper زمانی که یک عملیات به آن نیاز دارد. در macOS ، اولین انتخاب "
|
||
"حالت دمو یا فعال سازی مجوز را قبل از تجزیه و تحلیل بدون نظارت تکمیل کنید. "
|
||
"{ph0}مشاهده راه اندازی ارائه دهنده بومی{ph1}."
|
||
|
||
#: website/public/faq/index.html:492
|
||
msgctxt "page:faq/index.html"
|
||
msgid "What should I do if I hit a bug?"
|
||
msgstr "اگر با خطا روبهرو شدم چه کنم؟"
|
||
|
||
#. {ph0}: <a href="#update">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:493
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"{ph0}Update REA{ph1}, restart your agent and retry the same task. A recent "
|
||
"release may already fix the problem."
|
||
msgstr ""
|
||
"{ph0}به روز رسانی REA {ph1}، مامور خود را دوباره راه اندازی کنید و همان کار "
|
||
"را دوباره امتحان کنید. انتشار اخیر ممکن است مشکل را حل کند."
|
||
|
||
#. {ph0}: <a href="https://github.com/morluto/rea/issues/new/choose" >
|
||
#. {ph1}: </a >
|
||
#: website/public/faq/index.html:497
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"If it persists, {ph0}open an issue{ph1} with your REA version, operating "
|
||
"system, target type, steps to reproduce and error output. Include the "
|
||
"provider name when the problem involves native analysis."
|
||
msgstr ""
|
||
"اگر ادامه داشته باشد, {ph0}باز کردن یک موضوع{ph1} با نسخه REA ، سیستم عامل ،"
|
||
" نوع هدف ، مراحل بازتولید و خروجی خطا. شامل نام ارائه دهنده زمانی که مشکل "
|
||
"شامل تجزیه و تحلیل برنامه های کد ماشین است."
|
||
|
||
#: website/public/faq/index.html:511
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Data and sharing"
|
||
msgstr "داده ها و اشتراک گذاری"
|
||
|
||
#: website/public/faq/index.html:514
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Does REA upload my app?"
|
||
msgstr "آیا REA برنامه من را آپلود می کند ؟"
|
||
|
||
#: website/public/faq/index.html:515
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"REA analyzes targets on your machine. Your agent receives the results, and "
|
||
"its model provider's data policy applies to those results."
|
||
msgstr ""
|
||
"REA اهداف را در دستگاه شما تجزیه و تحلیل می کند. نماینده شما نتایج را دریافت"
|
||
" می کند و سیاست داده ارائه دهنده مدل آن برای این نتایج اعمال می شود."
|
||
|
||
#: website/public/faq/index.html:522
|
||
msgctxt "page:faq/index.html"
|
||
msgid "How can I share an example or contribute?"
|
||
msgstr "چگونه می توانم یک مثال را به اشتراک بگذارم یا کمک کنم ؟"
|
||
|
||
#. {ph0}: <a href="https://github.com/morluto/rea/issues/new/choose" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="https://github.com/morluto/rea/pulls">
|
||
#. {ph3}: </a >
|
||
#: website/public/faq/index.html:523
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Have a useful REA example? We'd love to see it. Share the target, your "
|
||
"question, the findings and how you checked them in an {ph0}issue{ph1} or "
|
||
"{ph2}pull request{ph3}. Short code excerpts and figures help others follow "
|
||
"the investigation."
|
||
msgstr ""
|
||
"یک مثال REA مفید داشته باشید ؟ خوشحال میشیم ببینیمش هدف ، سوال شما ، یافته "
|
||
"ها و نحوه بررسی آنها را در یک {ph0}مسئله{ph1} یا {ph2}درخواست کشیدن{ph3}. "
|
||
"گزیده ها و ارقام کوتاه کد به دیگران کمک می کند تا تحقیقات را دنبال کنند."
|
||
|
||
#. {ph0}: <a href="https://discord.gg/GkcryMnJDM">
|
||
#. {ph1}: </a>
|
||
#: website/public/faq/index.html:535
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Bug reports, feature requests, documentation and code improvements are "
|
||
"welcome too. You can also discuss an example in the {ph0}community{ph1}."
|
||
msgstr ""
|
||
"گزارش های باگ ، درخواست های ویژگی ، مستندات و بهبود کد نیز مورد استقبال قرار"
|
||
" می گیرند. شما همچنین می توانید در مورد یک مثال در {ph0}جامعه{ph1}."
|
||
|
||
#: website/public/faq/index.html:6
|
||
msgctxt "page:faq/index.html"
|
||
msgid "REA FAQ: Setup, Updates and Troubleshooting"
|
||
msgstr "REA سوالات متداول: راه اندازی ، به روز رسانی و عیب یابی"
|
||
|
||
#: website/public/faq/index.html:7
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"Answers to common REA questions: installation, updates, analysis tools, "
|
||
"coding agents, troubleshooting and sharing examples."
|
||
msgstr ""
|
||
"پاسخ به سوالات رایج REA: نصب ، به روز رسانی ، ابزارهای تجزیه و تحلیل ، عوامل"
|
||
" کدگذاری ، عیب یابی و به اشتراک گذاری نمونه ها."
|
||
|
||
#: website/public/faq/index.html:186
|
||
msgctxt "page:faq/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/faq/index.html:195
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Frequently asked questions about REA"
|
||
msgstr "سوالات متداول در مورد REA"
|
||
|
||
#: website/public/faq/index.html:213
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy REA setup command"
|
||
msgstr "کپی REA دستور راه اندازی"
|
||
|
||
#: website/public/faq/index.html:254
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy REA update command"
|
||
msgstr "کپی REA دستور به روز رسانی"
|
||
|
||
#: website/public/faq/index.html:272
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy agent setup refresh command"
|
||
msgstr "دستور Copy agent setup refresh"
|
||
|
||
#: website/public/faq/index.html:356
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy REA CLI analysis command"
|
||
msgstr "کپی REA CLI دستور تجزیه و تحلیل"
|
||
|
||
#: website/public/faq/index.html:403
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy example analysis prompt"
|
||
msgstr "کپی مثال تجزیه و تحلیل prompt"
|
||
|
||
#: website/public/faq/index.html:443
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy client diagnosis command"
|
||
msgstr "دستور تشخیص مشتری را کپی کنید"
|
||
|
||
#: website/public/faq/index.html:463
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy scoped setup command"
|
||
msgstr "دستور Copy scoped setup"
|
||
|
||
#: website/public/faq/index.html:560
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/first-investigation/index.html:99
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../">
|
||
#. {ph1}: </a>
|
||
#: website/public/first-investigation/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0}Home{ph1} / Your first investigation"
|
||
msgstr "{ph0}خانه{ph1} / اولین تحقیق شما"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/first-investigation/index.html:184
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Find out where{ph0}exported notes go."
|
||
msgstr "پیدا کردن که در آن{ph0}اسکناس های صادر شده می روند."
|
||
|
||
#: website/public/first-investigation/index.html:185
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"Use REA to inspect a small app, follow its Export notes button and check one"
|
||
" detail yourself."
|
||
msgstr ""
|
||
"از REA برای بازرسی یک برنامه کوچک استفاده کنید ، دکمه یادداشت های صادراتی آن"
|
||
" را دنبال کنید و خودتان یک جزئیات را بررسی کنید."
|
||
|
||
#: website/public/first-investigation/index.html:196
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "In this exercise"
|
||
msgstr "در این تمرین"
|
||
|
||
#. {ph0}: <a href="#setup">
|
||
#. {ph1}: </a>
|
||
#: website/public/first-investigation/index.html:198
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0}1. Set up{ph1}"
|
||
msgstr "{ph0}1. راه اندازی{ph1}"
|
||
|
||
#. {ph0}: <a href="#ask">
|
||
#. {ph1}: </a>
|
||
#: website/public/first-investigation/index.html:199
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0}2. Ask about export{ph1}"
|
||
msgstr "{ph0}2. درباره صادرات بپرسید{ph1}"
|
||
|
||
#. {ph0}: <a href="#answer">
|
||
#. {ph1}: </a>
|
||
#: website/public/first-investigation/index.html:200
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0}3. Follow the answer{ph1}"
|
||
msgstr "{ph0}3. پاسخ را دنبال کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#check">
|
||
#. {ph1}: </a>
|
||
#: website/public/first-investigation/index.html:201
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0}4. Check a prediction{ph1}"
|
||
msgstr "{ph0}4. پیش بینی را بررسی کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#next">
|
||
#. {ph1}: </a>
|
||
#: website/public/first-investigation/index.html:202
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0}5. Ask another question{ph1}"
|
||
msgstr "{ph0}5. سوال دیگری بپرسید{ph1}"
|
||
|
||
#: website/public/first-investigation/index.html:207
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "1. Connect your agent to REA"
|
||
msgstr "1. نماینده خود را به REA متصل کنید"
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/first-investigation/index.html:216
|
||
#: website/public/first-investigation/index.html:266
|
||
#: website/public/first-investigation/index.html:388
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#: website/public/first-investigation/index.html:221
|
||
#: website/public/first-investigation/index.html:243
|
||
#: website/public/first-investigation/index.html:271
|
||
#: website/public/first-investigation/index.html:393
|
||
#: website/public/first-investigation/index.html:435
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#: website/public/first-investigation/index.html:240
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Or run this command in your terminal:"
|
||
msgstr "یا این دستور را در ترمینال خود اجرا کنید:"
|
||
|
||
#: website/public/first-investigation/index.html:252
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"Review the plan, approve the setup, then restart your agent. Already "
|
||
"connected? Continue below."
|
||
msgstr ""
|
||
"نقشه رو بررسي کن ، راه اندازي رو تاييد کن ، بعد ماموريت رو دوباره راه بنداز."
|
||
" در حال حاضر متصل? ادامه در زیر."
|
||
|
||
#: website/public/first-investigation/index.html:258
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "2. Ask where the CSV is written"
|
||
msgstr "2. بپرسید CSV کجا نوشته شده است"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/first-investigation/index.html:259
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"The example is a six-file Electron app with an {ph0}Export notes{ph1} "
|
||
"button. Your agent can inspect its code without installing or launching "
|
||
"Electron."
|
||
msgstr ""
|
||
"مثال یک برنامه شش فایل Electron با یک {ph0}یادداشت های صادراتی{ph1} دکمه. "
|
||
"نماینده شما می تواند کد خود را بدون نصب یا راه اندازی Electron بازرسی کند ."
|
||
|
||
#: website/public/first-investigation/index.html:294
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"Your agent downloads the files and gives the unpacked folder to REA for "
|
||
"inspection."
|
||
msgstr ""
|
||
"نماینده شما فایل ها را بارگیری می کند و پوشه بسته بندی نشده را برای بازرسی "
|
||
"به REA می دهد."
|
||
|
||
#. {ph0}: <a class="button" href="../examples/notes-example.zip"
|
||
#. download="notes-example.zip" >
|
||
#. {ph1}: </a >
|
||
#: website/public/first-investigation/index.html:298
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0}Download example ZIP{ph1}"
|
||
msgstr "{ph0}دانلود نمونه زیپ{ph1}"
|
||
|
||
#. {ph0}: <code>notes-example</code>
|
||
#: website/public/first-investigation/index.html:306
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"If your agent can’t download files, unzip this archive yourself. Give it the"
|
||
" path to the {ph0} folder and the same export question."
|
||
msgstr ""
|
||
"اگر نماینده شما نمی تواند فایل ها را دانلود کند ، خودتان این آرشیو را باز "
|
||
"کنید. راه رو به سمت {ph0} پوشه و همان سوال صادرات."
|
||
|
||
#: website/public/first-investigation/index.html:313
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "3. Follow the answer back to the code"
|
||
msgstr "3. پاسخ را به کد دنبال کنید"
|
||
|
||
#: website/public/first-investigation/index.html:314
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Look for a short explanation with file and line references:"
|
||
msgstr "به دنبال یک توضیح کوتاه با مرجع فایل و خط باشید:"
|
||
|
||
#. {ph0}: <code>notes:export</code>
|
||
#. {ph1}: <code>notes.csv</code>
|
||
#. {ph2}: <code>id</code>
|
||
#. {ph3}: <code>title</code>
|
||
#: website/public/first-investigation/index.html:316
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"The button sends a {ph0} message. The main process formats the notes as CSV "
|
||
"and writes {ph1} in the user’s Downloads folder. The columns are {ph2} and "
|
||
"{ph3}."
|
||
msgstr ""
|
||
"دکمه یک {ph0} پیام. فرآیند اصلی یادداشت ها را به عنوان CSV فرمت می کند و می "
|
||
"نویسد {ph1} در پوشه Downloads کاربر. ستون ها عبارتند از {ph2} و {ph3}."
|
||
|
||
#: website/public/first-investigation/index.html:324
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "From the button to the file writer"
|
||
msgstr "از دکمه به نویسنده فایل"
|
||
|
||
#: website/public/first-investigation/index.html:353
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"REA’s static analysis pairs the message with its handler. The destination is"
|
||
" read from code."
|
||
msgstr ""
|
||
"تجزیه و تحلیل استاتیک REA پیام را با کنترل کننده آن جفت می کند. مقصد از کد "
|
||
"خوانده می شود."
|
||
|
||
#: website/public/first-investigation/index.html:369
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"The file path, formatter and write call are together in this handler. Ask "
|
||
"your agent to show these lines if its answer leaves them out."
|
||
msgstr ""
|
||
"مسیر فایل ، formatter و write call در این handler با هم هستند. از مامور خود "
|
||
"بخواهید که این خطوط را نشان دهد اگر پاسخ آن آنها را از بین ببرد."
|
||
|
||
#. {ph0}: <a href="../guides/javascript/#follow" >
|
||
#. {ph1}: </a >
|
||
#: website/public/first-investigation/index.html:374
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0}See the full code trace and recorded REA result{ph1}."
|
||
msgstr "{ph0}مشاهده کد کامل ردیابی و ثبت REA نتیجه{ph1}."
|
||
|
||
#: website/public/first-investigation/index.html:381
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "4. Check a prediction"
|
||
msgstr "4. پیش بینی را بررسی کنید"
|
||
|
||
#: website/public/first-investigation/index.html:382
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"A comma separates CSV columns. What happens when a note title itself "
|
||
"contains a comma or quotation marks?"
|
||
msgstr ""
|
||
"یک کاما ستون های CSV را جدا می کند. چه اتفاقی می افتد وقتی یک عنوان یادداشت "
|
||
"خود شامل یک علامت یا علامت نقل قول است ؟"
|
||
|
||
#: website/public/first-investigation/index.html:426
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Run the check yourself"
|
||
msgstr "خودتان چک را اجرا کنید"
|
||
|
||
#. {ph0}: <code>notes-example</code>
|
||
#: website/public/first-investigation/index.html:427
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Open a terminal in the unpacked {ph0} folder:"
|
||
msgstr "باز کردن یک ترمینال در بسته بندی نشده {ph0} پوشه:"
|
||
|
||
#: website/public/first-investigation/index.html:449
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"This command uses a shell with here-document support, such as Bash or Zsh. "
|
||
"Your agent can run the same JavaScript in your platform’s shell."
|
||
msgstr ""
|
||
"این دستور از یک پوسته با پشتیبانی از here-document مانند Bash یا Zsh استفاده"
|
||
" می کند. نماینده شما می تواند همان JavaScript را در پوسته پلتفرم شما اجرا "
|
||
"کند."
|
||
|
||
#: website/public/first-investigation/index.html:457
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "5. Ask another question"
|
||
msgstr "5. سوال دیگری بپرسید"
|
||
|
||
#: website/public/first-investigation/index.html:458
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Try a follow-up in the same conversation:"
|
||
msgstr "در همان مکالمه پیگیری کنید:"
|
||
|
||
#: website/public/first-investigation/index.html:460
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"What happens if the file can’t be written? Follow the error back to the "
|
||
"page."
|
||
msgstr ""
|
||
"اگه فایل نتونه نوشته بشه چی میشه ؟ خطای بازگشت به صفحه را دنبال کنید."
|
||
|
||
#: website/public/first-investigation/index.html:465
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"Or give your agent an app of your own and ask about one button, file or "
|
||
"behavior."
|
||
msgstr ""
|
||
"یا به نماینده خود برنامه خود را بدهید و در مورد یک دکمه ، پرونده یا رفتار "
|
||
"بپرسید."
|
||
|
||
#. {ph0}: <a href="../showcase/notion/">
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/first-investigation/index.html:470
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"{ph0}How Notion copies text and HTML{ph1}{ph2}Follow a clipboard feature in "
|
||
"a packaged Electron app.{ph3}"
|
||
msgstr ""
|
||
"{ph0}چگونه Notion متن و HTML را کپی می کند{ph1}{ph2}یک ویژگی کلیپ بورد را در"
|
||
" یک برنامه بسته بندی شده Electron دنبال کنید.{ph3}"
|
||
|
||
#. {ph0}: <a href="../showcase/dx-ball/" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/first-investigation/index.html:476
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"{ph0}How DX-Ball calculates sound panning{ph1}{ph2}Read the original "
|
||
"instructions and the reconstruction’s checks.{ph3}"
|
||
msgstr ""
|
||
"{ph0}چگونه DX-Ball موقعیت صدا استریو را محاسبه می کند{ph1}{ph2}دستورالعمل "
|
||
"های اصلی و چک های بازسازی را بخوانید.{ph3}"
|
||
|
||
#. {ph0}: <a href="../faq/#troubleshooting" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/first-investigation/index.html:484
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"{ph0}Troubleshoot setup or analysis{ph1}{ph2}Update REA and check the "
|
||
"connection if you get stuck.{ph3}"
|
||
msgstr ""
|
||
"{ph0}عیب یابی ، راه اندازی یا تجزیه و تحلیل{ph1}{ph2}REA را به روز کنید و در"
|
||
" صورت گیر افتادن اتصال را بررسی کنید.{ph3}"
|
||
|
||
#: website/public/first-investigation/index.html:6
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Your First Reverse Engineering Investigation — REA"
|
||
msgstr "اولین تحقیق مهندسی معکوس شما-REA"
|
||
|
||
#: website/public/first-investigation/index.html:7
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"Try REA on a small Notes app. Set up your agent, ask where exported notes "
|
||
"go, and check the CSV formatter with a sample title."
|
||
msgstr ""
|
||
"REA را در یک برنامه یادداشت کوچک امتحان کنید. نماینده خود را تنظیم کنید ، "
|
||
"بپرسید که یادداشت های صادر شده کجا می روند و قالب CSV را با عنوان نمونه "
|
||
"بررسی کنید."
|
||
|
||
#: website/public/first-investigation/index.html:195
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/first-investigation/index.html:205
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Your first REA investigation"
|
||
msgstr "اولین تحقیق REA شما"
|
||
|
||
#: website/public/first-investigation/index.html:221
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Copy REA installation prompt"
|
||
msgstr "کپی REA نصب و راه اندازی prompt"
|
||
|
||
#: website/public/first-investigation/index.html:243
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Copy setup command"
|
||
msgstr "دستور Copy setup"
|
||
|
||
#: website/public/first-investigation/index.html:271
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Copy Notes investigation prompt"
|
||
msgstr "یادداشت های کپی تحقیقات فوری"
|
||
|
||
#: website/public/first-investigation/index.html:393
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Copy CSV check prompt"
|
||
msgstr "کپی CSV چک prompt"
|
||
|
||
#: website/public/first-investigation/index.html:435
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Copy formatter check command"
|
||
msgstr "دستور copy formatter check"
|
||
|
||
#: website/public/first-investigation/index.html:510
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/get-started/index.html:99
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../">
|
||
#. {ph1}: </a>
|
||
#: website/public/get-started/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "{ph0}Home{ph1} / Get started"
|
||
msgstr "{ph0}خانه{ph1} / شروع کن"
|
||
|
||
#: website/public/get-started/index.html:182
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Set up REA."
|
||
msgstr "REA را تنظیم کنید ."
|
||
|
||
#: website/public/get-started/index.html:183
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Connect REA to your coding agent, or inspect a local app from your terminal."
|
||
msgstr ""
|
||
"REA را به عامل کدگذاری خود متصل کنید یا یک برنامه محلی را از ترمینال خود "
|
||
"بازرسی کنید."
|
||
|
||
#: website/public/get-started/index.html:195
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Open a terminal and check:"
|
||
msgstr "ترمینال رو باز کن و چک کن:"
|
||
|
||
#: website/public/get-started/index.html:198
|
||
#: website/public/get-started/index.html:455
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Terminal"
|
||
msgstr "ترمینال"
|
||
|
||
#: website/public/get-started/index.html:199
|
||
#: website/public/get-started/index.html:220
|
||
#: website/public/get-started/index.html:243
|
||
#: website/public/get-started/index.html:259
|
||
#: website/public/get-started/index.html:274
|
||
#: website/public/get-started/index.html:289
|
||
#: website/public/get-started/index.html:305
|
||
#: website/public/get-started/index.html:324
|
||
#: website/public/get-started/index.html:410
|
||
#: website/public/get-started/index.html:456
|
||
#: website/public/get-started/index.html:532
|
||
#: website/public/get-started/index.html:591
|
||
#: website/public/get-started/index.html:632
|
||
#: website/public/get-started/index.html:664
|
||
#: website/public/get-started/index.html:721
|
||
#: website/public/get-started/index.html:762
|
||
#: website/public/get-started/index.html:802
|
||
#: website/public/get-started/index.html:818
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/get-started/index.html:216
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "{ph0}Windows (PowerShell){ph1}"
|
||
msgstr "{ph0} Windows (PowerShell){ph1}"
|
||
|
||
#: website/public/get-started/index.html:219
|
||
#: website/public/get-started/index.html:242
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Windows PowerShell"
|
||
msgstr "Windows PowerShell"
|
||
|
||
#. {ph0}: <code>node -v</code>
|
||
#: website/public/get-started/index.html:231
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Type Y if asked to accept the terms. Close PowerShell, open it again, then "
|
||
"run {ph0}."
|
||
msgstr ""
|
||
"اگر از شما خواسته شود که شرایط را بپذیرید ، نوع Y را تایپ کنید. PowerShell "
|
||
"را ببندید ، دوباره آن را باز کنید ، سپس اجرا کنید {ph0}."
|
||
|
||
#. {ph0}: <em>
|
||
#. {ph1}: </em>
|
||
#. {ph2}: <code>npx</code>
|
||
#: website/public/get-started/index.html:235
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"If PowerShell later says {ph0}\"running scripts is disabled on this "
|
||
"system\"{ph1} when you run {ph2}, run this once and try again:"
|
||
msgstr ""
|
||
"اگر PowerShell بعدا می گوید {ph0}\"اجرای اسکریپت ها در این سیستم غیرفعال "
|
||
"است\"{ph1} وقتی می دوید {ph2}، اين رو يه بار اجرا کن و دوباره امتحان کن:"
|
||
|
||
#: website/public/get-started/index.html:255
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "If you use Homebrew:"
|
||
msgstr "اگر از Homebrew استفاده می کنید :"
|
||
|
||
#: website/public/get-started/index.html:258
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "macOS · Homebrew"
|
||
msgstr "macOS * Homebrew"
|
||
|
||
#: website/public/get-started/index.html:270
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Otherwise:"
|
||
msgstr "در غیر این صورت:"
|
||
|
||
#: website/public/get-started/index.html:285
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Close Terminal, open it again, then:"
|
||
msgstr "ترمینال رو ببند ، دوباره بازش کن ، بعد:"
|
||
|
||
#. {ph0}: <code>curl</code>
|
||
#. {ph1}: <code>unzip</code>
|
||
#. {ph2}: <code>sudo apt install curl unzip</code>
|
||
#: website/public/get-started/index.html:316
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"The installer needs {ph0} and {ph1} (on Debian/Ubuntu: {ph2}). Close the "
|
||
"terminal, open it again, then:"
|
||
msgstr ""
|
||
"نصب کننده نیاز دارد {ph0} و {ph1} (در دبیان / اوبونتو: {ph2}). ترمینال رو "
|
||
"ببند ، دوباره بازش کن ، بعد:"
|
||
|
||
#. {ph0}: <code>nodejs</code>
|
||
#. {ph1}: <code>node -v</code>
|
||
#: website/public/get-started/index.html:336
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Your distribution's own {ph0} package is often older than 22.19, so check "
|
||
"{ph1} if you use it instead."
|
||
msgstr ""
|
||
"توزیع خود را {ph0} بسته اغلب قدیمی تر از 22.19 است ، بنابراین بررسی کنید "
|
||
"{ph1} اگر به جای آن استفاده کنید."
|
||
|
||
#. {ph0}: <a href="https://nodejs.org/en/download">
|
||
#. {ph1}: </a>
|
||
#: website/public/get-started/index.html:340
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Prefer a regular installer? Download the LTS version from "
|
||
"{ph0}nodejs.org{ph1}."
|
||
msgstr ""
|
||
"یک نصب کننده معمولی را ترجیح می دهید ؟ دانلود نسخه LTS از "
|
||
"{ph0}nodejs.org{ph1}."
|
||
|
||
#: website/public/get-started/index.html:348
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Setup options"
|
||
msgstr "گزینه های راه اندازی"
|
||
|
||
#. {ph0}: <a href="#agent">
|
||
#. {ph1}: </a>
|
||
#: website/public/get-started/index.html:350
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "{ph0}Connect your coding agent{ph1}"
|
||
msgstr "{ph0}عامل برنامه نویسی خود را وصل کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#terminal">
|
||
#. {ph1}: </a>
|
||
#: website/public/get-started/index.html:351
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "{ph0}Use the CLI{ph1}"
|
||
msgstr "{ph0}از CLI استفاده کنید {ph1}"
|
||
|
||
#. {ph0}: <a href="#native">
|
||
#. {ph1}: </a>
|
||
#: website/public/get-started/index.html:352
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "{ph0}Set up native analysis{ph1}"
|
||
msgstr "{ph0}راه اندازی تجزیه و تحلیل برنامه های کد ماشین{ph1}"
|
||
|
||
#. {ph0}: <a href="#help">
|
||
#. {ph1}: </a>
|
||
#: website/public/get-started/index.html:353
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "{ph0}Getting help{ph1}"
|
||
msgstr "{ph0}کمک گرفتن{ph1}"
|
||
|
||
#: website/public/get-started/index.html:358
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Connect your coding agent"
|
||
msgstr "عامل برنامه نویسی خود را وصل کنید"
|
||
|
||
#: website/public/get-started/index.html:359
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Run setup to connect REA to your coding agent. Client choices include Claude"
|
||
" Code, Codex, Cursor, Gemini CLI, Windsurf, Grok Build, and other supported "
|
||
"MCP clients. Grok Bot's connector is added from its chat."
|
||
msgstr ""
|
||
"راه اندازی را اجرا کنید تا REA را به عامل برنامه نویسی خود متصل کنید. انتخاب"
|
||
" های مشتری شامل Claude Code ، Codex ، Cursor ، Gemini CLI ، Windsurf ، Grok "
|
||
"Build و سایر مشتریان MCP پشتیبانی شده است. اتصال Grok Bot از چت آن اضافه شده"
|
||
" است."
|
||
|
||
#: website/public/get-started/index.html:366
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "New to coding agents?"
|
||
msgstr "تازه وارد برنامه نویسی ؟"
|
||
|
||
#: website/public/get-started/index.html:367
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"A coding agent is an AI assistant that works on your computer instead of in "
|
||
"a browser tab. It can read files and run commands, and it asks before making"
|
||
" changes. REA gives it reverse-engineering tools."
|
||
msgstr ""
|
||
"یک عامل کدگذاری یک دستیار هوش مصنوعی است که به جای یک برگه مرورگر در رایانه "
|
||
"شما کار می کند. می تواند فایل ها را بخواند و دستورات را اجرا کند و قبل از "
|
||
"ایجاد تغییرات می پرسد. REA به آن ابزار مهندسی معکوس می دهد."
|
||
|
||
#: website/public/get-started/index.html:373
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"If you don't have one yet, pick one, follow its install page and sign in:"
|
||
msgstr ""
|
||
"اگر هنوز یکی ندارید ، یکی را انتخاب کنید ، صفحه نصب آن را دنبال کنید و وارد "
|
||
"شوید:"
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: <a href="https://code.claude.com/docs/en/setup" >
|
||
#. {ph2}: </a >
|
||
#. {ph3}: </strong >
|
||
#: website/public/get-started/index.html:378
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}{ph1}Claude Code{ph2}{ph3} by Anthropic. Needs a paid Claude plan."
|
||
msgstr ""
|
||
"{ph0}{ph1} Claude Code {ph2}{ph3} توسط Anthropic . نیاز به یک طرح Claude "
|
||
"پرداخت می شود."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: <a href="https://github.com/openai/codex">
|
||
#. {ph2}: </a>
|
||
#. {ph3}: </strong >
|
||
#: website/public/get-started/index.html:386
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}{ph1}Codex{ph2}{ph3} by OpenAI. Sign in with your ChatGPT account."
|
||
msgstr ""
|
||
"{ph0}{ph1} Codex {ph2}{ph3} توسط OpenAI . با حساب ChatGPT خود وارد شوید."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: <a href="https://opencode.ai/docs">
|
||
#. {ph2}: </a>
|
||
#. {ph3}: </strong >
|
||
#: website/public/get-started/index.html:392
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}{ph1}OpenCode{ph2}{ph3}, open source. Connect the model provider of "
|
||
"your choice."
|
||
msgstr ""
|
||
"{ph0}{ph1} OpenCode {ph2}{ph3}، منبع باز ارائه دهنده مدل مورد نظر خود را "
|
||
"متصل کنید."
|
||
|
||
#: website/public/get-started/index.html:398
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Then open it and copy the prompt below into it. The agent runs REA's setup "
|
||
"and shows you the plan before changing anything."
|
||
msgstr ""
|
||
"سپس آن را باز کرده و دستور زیر را در آن کپی کنید. عامل راه اندازی REA را "
|
||
"اجرا می کند و قبل از تغییر هر چیزی برنامه را به شما نشان می دهد."
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/get-started/index.html:405
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#: website/public/get-started/index.html:430
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Or run setup yourself"
|
||
msgstr "یا خودتان راه اندازی کنید"
|
||
|
||
#: website/public/get-started/index.html:432
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "How do I open a terminal?"
|
||
msgstr "چگونه ترمینال را باز کنم ؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <em>
|
||
#. {ph3}: </em>
|
||
#: website/public/get-started/index.html:434
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}Windows:{ph1} open the Start menu, type {ph2}PowerShell{ph3} and press "
|
||
"Enter."
|
||
msgstr ""
|
||
"{ph0} Windows :{ph1} منوی Start را باز کنید ، تایپ کنید {ph2}پاور شل{ph3} و "
|
||
"Enter را فشار دهید."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <kbd>⌘</kbd>
|
||
#. {ph3}: <kbd>Space</kbd>
|
||
#. {ph4}: <em>
|
||
#. {ph5}: </em>
|
||
#: website/public/get-started/index.html:438
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}macOS:{ph1} press {ph2} {ph3}, type {ph4}Terminal{ph5} and press Enter."
|
||
msgstr ""
|
||
"{ph0} macOS :{ph1} مطبوعات {ph2} {ph3}، تایپ کنید {ph4}ترمینال{ph5} و Enter "
|
||
"را فشار دهید."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <kbd>Ctrl</kbd>
|
||
#. {ph3}: <kbd>Alt</kbd>
|
||
#. {ph4}: <kbd>T</kbd>
|
||
#: website/public/get-started/index.html:442
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "{ph0}Linux:{ph1} press {ph2} {ph3} {ph4} on most desktops."
|
||
msgstr "{ph0} Linux :{ph1} مطبوعات {ph2} {ph3} {ph4} در اکثر دسکتاپ ها"
|
||
|
||
#. {ph0}: <kbd>Ctrl</kbd>
|
||
#. {ph1}: <kbd>V</kbd>
|
||
#. {ph2}: <kbd>⌘</kbd>
|
||
#. {ph3}: <kbd>V</kbd>
|
||
#. {ph4}: <kbd>Ctrl</kbd>
|
||
#. {ph5}: <kbd>Shift</kbd>
|
||
#. {ph6}: <kbd>V</kbd>
|
||
#: website/public/get-started/index.html:447
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Paste a command with {ph0} {ph1} (macOS: {ph2} {ph3}; Linux terminals: {ph4}"
|
||
" {ph5} {ph6}), then press Enter."
|
||
msgstr ""
|
||
"یک دستور را با {ph0} {ph1} (macOS : {ph2} {ph3}; ترمینال های Linux: {ph4} "
|
||
"{ph5} {ph6}), سپس Enter را فشار دهید."
|
||
|
||
#: website/public/get-started/index.html:468
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Choose your client and review the setup plan. REA adds its MCP connection "
|
||
"and the matching investigation skill, keeping a backup of existing "
|
||
"configuration. It asks before applying the changes."
|
||
msgstr ""
|
||
"مشتری خود را انتخاب کنید و برنامه راه اندازی را بررسی کنید. REA اتصال MCP و"
|
||
" مهارت تحقیق تطبیق را اضافه می کند و پشتیبان گیری از پیکربندی موجود را حفظ "
|
||
"می کند. قبل از اعمال تغییرات می پرسد."
|
||
|
||
#: website/public/get-started/index.html:473
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Restart your client when setup finishes."
|
||
msgstr "مشتری خود را پس از اتمام راه اندازی دوباره راه اندازی کنید."
|
||
|
||
#: website/public/get-started/index.html:475
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "How do I restart my client?"
|
||
msgstr "چطور موکلم رو دوباره راه بندازم ؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <kbd>⌘</kbd>
|
||
#. {ph3}: <kbd>Q</kbd>
|
||
#: website/public/get-started/index.html:476
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}Desktop apps{ph1} (Claude Desktop, Cursor, Windsurf, VS Code): quit the"
|
||
" app completely, then open it again. Closing the window isn't enough. On "
|
||
"macOS press {ph2} {ph3}; on Windows, also quit from the tray icon if there "
|
||
"is one."
|
||
msgstr ""
|
||
"{ph0}برنامه های دسکتاپ{ph1} (Claude دسکتاپ ، Cursor ، Windsurf ، VS Code ): "
|
||
"برنامه را به طور کامل ترک کنید ، سپس دوباره آن را باز کنید. بستن پنجره کافی "
|
||
"نیست. در مطبوعات macOS {ph2} {ph3}; در Windows ، اگر یکی وجود داشته باشد ، "
|
||
"از آیکون سینی نیز خارج شوید."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/get-started/index.html:483
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}Terminal agents{ph1} (Claude Code, Codex, Gemini CLI): exit the session"
|
||
" and start it again."
|
||
msgstr ""
|
||
"{ph0}عوامل ترمینال{ph1} (Claude Code ، Codex ، Gemini CLI ): از جلسه خارج "
|
||
"شوید و دوباره شروع کنید."
|
||
|
||
#: website/public/get-started/index.html:488
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Give your agent a target path and a specific question. For a JavaScript or "
|
||
"Electron app, you might start with:"
|
||
msgstr ""
|
||
"به نماینده خود یک مسیر هدف و یک سوال خاص بدهید. برای یک برنامه JavaScript یا"
|
||
" Electron ، ممکن است با:"
|
||
|
||
#. {ph0}: <code>/absolute/path/to/app</code>
|
||
#: website/public/get-started/index.html:493
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Look at {ph0} and find how it exports data. Show the entry points, calls and"
|
||
" dependencies involved, with the source locations for your findings."
|
||
msgstr ""
|
||
"نگاه کن {ph0} و نحوه صادرات داده ها را پیدا کنید. نقاط ورود ، تماس ها و "
|
||
"وابستگی های مربوطه را با مکان های منبع برای یافته های خود نشان دهید."
|
||
|
||
#: website/public/get-started/index.html:499
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Replace the path with your local target."
|
||
msgstr "مسیر را با هدف محلی خود جایگزین کنید."
|
||
|
||
#: website/public/get-started/index.html:501
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "How do I get a folder's full path?"
|
||
msgstr "چطور می توانم مسیر کامل یک پوشه را بدست آورم ؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <em>
|
||
#. {ph3}: </em>
|
||
#: website/public/get-started/index.html:503
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}Windows:{ph1} in File Explorer, right-click the folder and choose "
|
||
"{ph2}Copy as path{ph3}. On Windows 10, hold Shift while right-clicking."
|
||
msgstr ""
|
||
"{ph0} Windows :{ph1} در File Explorer ، روی پوشه کلیک راست کرده و انتخاب "
|
||
"کنید {ph2}کپی به عنوان مسیر{ph3}. در Windows 10 ، هنگام کلیک راست ، Shift را"
|
||
" نگه دارید."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <em>
|
||
#. {ph3}: </em>
|
||
#: website/public/get-started/index.html:508
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}macOS:{ph1} in Finder, right-click the folder, hold Option and choose "
|
||
"{ph2}Copy \"…\" as Pathname{ph3}."
|
||
msgstr ""
|
||
"{ph0} macOS :{ph1} در Finder ، روی پوشه کلیک راست کنید ، گزینه hold را "
|
||
"انتخاب کنید {ph2}\"...\" را به عنوان نام مسیر کپی کنید{ph3}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/get-started/index.html:512
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}Any system:{ph1} drag the folder into a terminal window and its path "
|
||
"appears."
|
||
msgstr ""
|
||
"{ph0}هر سیستم:{ph1} پوشه را به یک پنجره ترمینال بکشید و مسیر آن ظاهر می شود."
|
||
|
||
#: website/public/get-started/index.html:517
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "In a terminal, put quotes around a path that contains spaces."
|
||
msgstr ""
|
||
"در یک ترمینال ، نقل قول ها را در اطراف مسیری قرار دهید که شامل فضاها است."
|
||
|
||
#: website/public/get-started/index.html:524
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Use the CLI"
|
||
msgstr "از CLI استفاده کنید"
|
||
|
||
#: website/public/get-started/index.html:525
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Analyze a JavaScript or Electron application folder or ASAR archive without "
|
||
"running the app:"
|
||
msgstr ""
|
||
"یک پوشه برنامه JavaScript یا Electron یا آرشیو ASAR را بدون اجرای برنامه "
|
||
"تجزیه و تحلیل کنید:"
|
||
|
||
#: website/public/get-started/index.html:531
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Static application analysis"
|
||
msgstr "تجزیه و تحلیل کاربرد استاتیک"
|
||
|
||
#. {ph0}: <code>.asar</code>
|
||
#. {ph1}: <code>"D:/apps/example"</code>
|
||
#: website/public/get-started/index.html:544
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Replace the path with your extracted app directory or {ph0} file. On "
|
||
"Windows, a path such as {ph1} works here."
|
||
msgstr ""
|
||
"مسیر را با دایرکتوری برنامه استخراج شده خود جایگزین کنید یا {ph0} فایل. در "
|
||
"Windows ، مسیری مانند {ph1} اینجا کار میکنه"
|
||
|
||
#: website/public/get-started/index.html:550
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Where do I find an app's .asar file?"
|
||
msgstr "کجا یه اپلیکیشن پیدا کنم ؟ فایل آسار?"
|
||
|
||
#. {ph0}: <code>resources</code>
|
||
#: website/public/get-started/index.html:551
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Electron apps usually keep it in a {ph0} folder:"
|
||
msgstr "برنامه های Electron معمولا آن را در یک {ph0} پوشه:"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code
|
||
#. >C:\Users\<you>\AppData\Local\Programs\<App>\resources\app.asar</code
|
||
#. >
|
||
#: website/public/get-started/index.html:556
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "{ph0}Windows:{ph1} {ph2}"
|
||
msgstr "{ph0} Windows :{ph1} {ph2}"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code
|
||
#. >/Applications/<App>.app/Contents/Resources/app.asar</code >
|
||
#. {ph3}: <em>
|
||
#. {ph4}: </em>
|
||
#: website/public/get-started/index.html:562
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}macOS:{ph1} {ph2} (right-click the app and choose {ph3}Show Package "
|
||
"Contents{ph4})"
|
||
msgstr ""
|
||
"{ph0} macOS :{ph1} {ph2} (روی برنامه کلیک راست کنید و انتخاب کنید {ph3}نمایش"
|
||
" محتویات بسته{ph4})"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>/opt/<App>/resources/app.asar</code>
|
||
#: website/public/get-started/index.html:570
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "{ph0}Linux:{ph1} often {ph2}"
|
||
msgstr "{ph0} Linux :{ph1} اغلب {ph2}"
|
||
|
||
#. {ph0}: <code>app.asar</code>
|
||
#: website/public/get-started/index.html:575
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Some apps install elsewhere. Search the app's folder for {ph0}."
|
||
msgstr ""
|
||
"برخی از برنامه ها در جای دیگری نصب می شوند. پوشه برنامه را جستجو کنید {ph0}."
|
||
|
||
#: website/public/get-started/index.html:580
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"The result identifies the app, shows connections between modules and gives "
|
||
"their source locations. Connections REA cannot resolve are marked in the "
|
||
"result."
|
||
msgstr ""
|
||
"نتیجه برنامه را شناسایی می کند ، اتصالات بین ماژول ها را نشان می دهد و مکان "
|
||
"منبع آنها را می دهد. اتصالات REA نمی تواند حل شود در نتیجه مشخص شده است."
|
||
|
||
#. {ph0}: <code>rea</code>
|
||
#: website/public/get-started/index.html:585
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "If you'd like a permanent {ph0} command in your shell:"
|
||
msgstr "اگه ميخواي يه {ph0} فرمان در پوسته شما:"
|
||
|
||
#: website/public/get-started/index.html:590
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Install the CLI"
|
||
msgstr "CLI را نصب کنید"
|
||
|
||
#. {ph0}: <a href="../guides/javascript/" >
|
||
#. {ph1}: </a >
|
||
#: website/public/get-started/index.html:602
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "{ph0}Continue with the JavaScript application guide{ph1}"
|
||
msgstr "{ph0}ادامه با راهنمای برنامه JavaScript{ph1}"
|
||
|
||
#: website/public/get-started/index.html:610
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Set up native analysis"
|
||
msgstr "راه اندازی تجزیه و تحلیل برنامه های کد ماشین"
|
||
|
||
#: website/public/get-started/index.html:611
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Native binaries need a local analysis tool. Choose and configure one below, "
|
||
"then give REA your executable or library."
|
||
msgstr ""
|
||
"برنامه های کد ماشین نیاز به یک ابزار تجزیه و تحلیل محلی دارند. یکی را در زیر"
|
||
" انتخاب و پیکربندی کنید ، سپس به REA فایل اجرایی یا کتابخانه خود را بدهید."
|
||
|
||
#: website/public/get-started/index.html:616
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Choose a tool: Ghidra, Hopper or IDA"
|
||
msgstr "یک ابزار را انتخاب کنید: Ghidra ، Hopper یا IDA"
|
||
|
||
#: website/public/get-started/index.html:621
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Use an existing Ghidra 12.1.x installation and a 64-bit JDK 21 or newer on "
|
||
"Linux or macOS, on x64 or arm64. Your Ghidra installation needs a native "
|
||
"decompiler for your host architecture. Set the paths before running setup:"
|
||
msgstr ""
|
||
"از Ghidra 12.1 موجود استفاده کنید.نصب x و یک JDK 21 64 بیتی یا جدیدتر در "
|
||
"Linux یا macOS ، در x64 یا arm64. نصب Ghidra شما به یک تجزیه کننده بومی برای"
|
||
" معماری میزبان شما نیاز دارد. قبل از اجرای تنظیمات مسیرها را تنظیم کنید:"
|
||
|
||
#: website/public/get-started/index.html:628
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Connect your Ghidra installation"
|
||
msgstr "نصب Ghidra خود را وصل کنید"
|
||
|
||
#: website/public/get-started/index.html:631
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Ghidra connection · macOS / Linux"
|
||
msgstr "اتصال Ghidra * macOS / Linux"
|
||
|
||
#: website/public/get-started/index.html:646
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Replace both paths with your existing installations. Setup checks them and "
|
||
"records valid settings for your selected client. On Linux arm64, you may "
|
||
"need to build Ghidra's native decompiler separately."
|
||
msgstr ""
|
||
"هر دو مسیر را با تاسیسات موجود خود جایگزین کنید. تنظیمات آنها را بررسی می "
|
||
"کند و تنظیمات معتبر را برای مشتری انتخاب شده شما ثبت می کند. در Linux arm64 "
|
||
"، ممکن است لازم باشد تجزیه کننده بومی Ghidra را جداگانه بسازید."
|
||
|
||
#: website/public/get-started/index.html:654
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Connect Ghidra on Windows"
|
||
msgstr "اتصال Ghidra در Windows"
|
||
|
||
#: website/public/get-started/index.html:655
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Windows x64 has experimental, read-only support for native x86 and x64 PE "
|
||
"applications and DLLs on fixed local NTFS drives. Use an existing Ghidra "
|
||
"12.1.x installation and a 64-bit JDK 21 or newer:"
|
||
msgstr ""
|
||
"Windows x64 دارای پشتیبانی تجربی و فقط برای خواندن برای برنامه های بومی x86 "
|
||
"و x64 PE و Dll ها در درایوهای ntfs محلی ثابت است. از Ghidra 12.1 موجود "
|
||
"استفاده کنید.x نصب و 64 بیتی JDK 21 یا جدیدتر:"
|
||
|
||
#: website/public/get-started/index.html:663
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Ghidra connection · Windows PowerShell"
|
||
msgstr "اتصال Ghidra * Windows PowerShell"
|
||
|
||
#: website/public/get-started/index.html:678
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Replace the two paths with your installations, then review setup's plan."
|
||
msgstr ""
|
||
"دو مسیر را با نصب های خود جایگزین کنید ، سپس برنامه راه اندازی را بررسی "
|
||
"کنید."
|
||
|
||
#: website/public/get-started/index.html:688
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Connect Hopper on macOS or Linux. Run the setup command above; it detects an"
|
||
" existing installation or offers an installation plan for your approval."
|
||
msgstr ""
|
||
"Hopper را در macOS یا Linux متصل کنید . دستور setup را در بالا اجرا کنید ؛ "
|
||
"این دستور یک نصب موجود را تشخیص می دهد یا یک برنامه نصب برای تأیید شما ارائه"
|
||
" می دهد."
|
||
|
||
#: website/public/get-started/index.html:693
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"On macOS, complete Hopper's first-run choice of demo mode or license "
|
||
"activation before an unattended analysis."
|
||
msgstr ""
|
||
"در macOS ، انتخاب اولین اجرا Hopper از حالت نمایشی یا فعال سازی مجوز را قبل "
|
||
"از تجزیه و تحلیل بدون نظارت تکمیل کنید."
|
||
|
||
#: website/public/get-started/index.html:702
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"The verified IDA setups use Windows, with an existing MCP registration for "
|
||
"an attached GUI or a headless database. Linux and macOS headless analysis "
|
||
"remains unverified."
|
||
msgstr ""
|
||
"تنظیمات IDA تأیید شده از Windows استفاده می کنند ، با ثبت نام MCP موجود برای"
|
||
" یک رابط کاربری گرافیکی متصل یا یک پایگاه داده بدون سر. تجزیه و تحلیل بدون "
|
||
"سر Linux و macOS هنوز تایید نشده است."
|
||
|
||
#: website/public/get-started/index.html:708
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Connect an existing IDA MCP registration"
|
||
msgstr "ثبت نام IDA MCP موجود را وصل کنید"
|
||
|
||
#. {ph0}: <code>command</code>
|
||
#. {ph1}: <code>args</code>
|
||
#. {ph2}: <code>env</code>
|
||
#. {ph3}: <code>mcpServers</code>
|
||
#. {ph4}: <code>ida-pro-mcp</code>
|
||
#: website/public/get-started/index.html:711
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Keep the upstream server's working {ph0}, {ph1} and optional {ph2} in a JSON"
|
||
" file. An existing {ph3} object with an {ph4} entry is also accepted. Point "
|
||
"REA at that file before setup:"
|
||
msgstr ""
|
||
"سرور بالا رو فعال نگه دار {ph0}, {ph1} و اختیاری {ph2} در یک فایل JSON. یک "
|
||
"موجود {ph3} شی با یک {ph4} ورود نیز پذیرفته می شود. نقطه REA در آن فایل قبل "
|
||
"از راه اندازی:"
|
||
|
||
#: website/public/get-started/index.html:720
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "IDA connection · Windows PowerShell"
|
||
msgstr "اتصال IDA * Windows PowerShell"
|
||
|
||
#. {ph0}: <code>"mode": "headless"</code>
|
||
#: website/public/get-started/index.html:735
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"The attached profile uses upstream legacy 1.4.0 tools with the original "
|
||
"binary already open in IDA. The headless profile uses the upstream database-"
|
||
"supervisor API and a registration with {ph0}; real verification covers an "
|
||
"IDA 9.3 Windows x64 supervisor. Doctor checks the registration without "
|
||
"starting IDA."
|
||
msgstr ""
|
||
"پروفایل پیوست شده از ابزارهای upstream legacy 1.4.0 با باینری اصلی که قبلا "
|
||
"در IDA باز شده است استفاده می کند . پروفایل بدون سر از api upstream "
|
||
"database-supervisor و ثبت نام با {ph0}; بررسی واقعی را پوشش می دهد IDA 9.3 "
|
||
"Windows x64 سرپرست. پزشک ثبت نام را بدون شروع IDA بررسی می کند ."
|
||
|
||
#. {ph0}: <code>--provider ida</code>
|
||
#. {ph1}: <code>REA_IDA_MCP_CONFIG</code>
|
||
#: website/public/get-started/index.html:744
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Give REA the original executable path, with {ph0} in a CLI query. For an "
|
||
"agent, include {ph1} in the REA registration's environment and select IDA "
|
||
"when opening the binary."
|
||
msgstr ""
|
||
"به REA مسیر اجرایی اصلی را با {ph0} در یک پرس و جو CLI. برای یک نماینده ، "
|
||
"شامل {ph1} در محیط ثبت REA و انتخاب کنید IDA هنگام باز کردن باینری."
|
||
|
||
#: website/public/get-started/index.html:756
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "For an existing Ghidra setup, inspect a function with:"
|
||
msgstr "برای یک راه اندازی Ghidra موجود ، یک تابع را با:"
|
||
|
||
#: website/public/get-started/index.html:761
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Function analysis"
|
||
msgstr "تجزیه و تحلیل عملکرد"
|
||
|
||
#. {ph0}: <code>main</code>
|
||
#: website/public/get-started/index.html:774
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Replace {ph0} with the function name or address you want to inspect."
|
||
msgstr "جایگزین کنید {ph0} با نام تابع یا آدرس که می خواهید بازرسی کنید."
|
||
|
||
#: website/public/get-started/index.html:779
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "How native analysis sessions work"
|
||
msgstr "چگونه تجزیه و تحلیل برنامه های کد ماشین جلسات کار می کنند"
|
||
|
||
#: website/public/get-started/index.html:780
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Each CLI command imports and analyzes the binary, then closes its session. "
|
||
"Your agent's MCP queries reuse the imported binary while that session is "
|
||
"open."
|
||
msgstr ""
|
||
"هر دستور CLI باینری را وارد و تجزیه و تحلیل می کند ، سپس جلسه خود را می "
|
||
"بندد. پرس و جوهای MCP نماینده شما در حالی که جلسه باز است ، از باینری وارد "
|
||
"شده استفاده می کند."
|
||
|
||
#. {ph0}: <a href="../guides/native/">
|
||
#. {ph1}: </a>
|
||
#: website/public/get-started/index.html:786
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}Follow a native analysis example{ph1} to see how the function result "
|
||
"leads to a recovered calculation."
|
||
msgstr ""
|
||
"{ph0}یک مثال از تجزیه و تحلیل برنامه های کد ماشین را دنبال کنید{ph1} برای "
|
||
"دیدن اینکه چگونه نتیجه تابع منجر به محاسبه بازیابی می شود."
|
||
|
||
#: website/public/get-started/index.html:793
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Getting help"
|
||
msgstr "کمک گرفتن"
|
||
|
||
#: website/public/get-started/index.html:794
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "If your agent doesn't see REA"
|
||
msgstr "اگر نماینده شما REA را نمی بیند"
|
||
|
||
#. {ph0}: <code>doctor</code>
|
||
#: website/public/get-started/index.html:795
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Restart or reconnect the client after setup. Check its REA connection with "
|
||
"{ph0}; for Codex:"
|
||
msgstr ""
|
||
"مشتری را پس از راه اندازی مجددا راه اندازی کنید یا دوباره وصل کنید. اتصال "
|
||
"REA خود را با {ph0}; برای Codex :"
|
||
|
||
#: website/public/get-started/index.html:801
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Check one client"
|
||
msgstr "بررسی یک مشتری"
|
||
|
||
#: website/public/get-started/index.html:813
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "If a provider needs attention"
|
||
msgstr "اگر یک ارائه دهنده نیاز به توجه داشته باشد"
|
||
|
||
#: website/public/get-started/index.html:814
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Check the provider you're using. For Ghidra:"
|
||
msgstr "ارائه دهنده ای که استفاده می کنید را بررسی کنید. برای Ghidra :"
|
||
|
||
#: website/public/get-started/index.html:817
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Check one provider"
|
||
msgstr "یک ارائه دهنده را بررسی کنید"
|
||
|
||
#: website/public/get-started/index.html:829
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "The report gives the failed check and a suggested next step."
|
||
msgstr "گزارش چک شکست خورده و گام بعدی پیشنهاد شده را ارائه می دهد."
|
||
|
||
#. {ph0}: <a href="../faq/">
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span>
|
||
#. {ph3}: </span>
|
||
#: website/public/get-started/index.html:831
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}REA FAQ{ph1}{ph2}Quick answers on updates, agents and analysis.{ph3}"
|
||
msgstr ""
|
||
"{ph0} REA سوالات متداول{ph1}{ph2}پاسخ های سریع در مورد به روز رسانی ها ، "
|
||
"عوامل و تجزیه و تحلیل.{ph3}"
|
||
|
||
#. {ph0}: <a href="../guides/">
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/get-started/index.html:835
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}Choose an investigation guide{ph1}{ph2}Worked examples for a binary, an"
|
||
" Electron app and a browser.{ph3}"
|
||
msgstr ""
|
||
"{ph0}راهنمای تحقیق را انتخاب کنید{ph1}{ph2}نمونه های کار شده برای یک باینری "
|
||
"، یک برنامه Electron و یک مرورگر.{ph3}"
|
||
|
||
#. {ph0}: <a href="https://github.com/morluto/rea/issues">
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span>
|
||
#. {ph3}: </span>
|
||
#: website/public/get-started/index.html:842
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}GitHub issues{ph1}{ph2}Report a problem with the command and "
|
||
"diagnostics.{ph3}"
|
||
msgstr "{ph0} مسائل GitHub{ph1}{ph2}گزارش یک مشکل با دستور و تشخیص.{ph3}"
|
||
|
||
#. {ph0}: <a href="https://discord.gg/GkcryMnJDM">
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span>
|
||
#. {ph3}: </span>
|
||
#: website/public/get-started/index.html:846
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}REA community{ph1}{ph2}Questions, investigations and work in "
|
||
"progress.{ph3}"
|
||
msgstr ""
|
||
"{ph0} جامعه REA{ph1}{ph2}سوالات ، تحقیقات و کار در حال انجام است.{ph3}"
|
||
|
||
#: website/public/get-started/index.html:6
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Install REA and Set Up Your Coding Agent"
|
||
msgstr "REA را نصب کنید و عامل کدگذاری خود را تنظیم کنید"
|
||
|
||
#: website/public/get-started/index.html:7
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"Connect REA to your coding agent or inspect a local JavaScript or Electron "
|
||
"app from the terminal. Setup, first questions and native provider guides."
|
||
msgstr ""
|
||
"REA را به عامل برنامه نویسی خود متصل کنید یا یک برنامه محلی JavaScript یا "
|
||
"Electron را از ترمینال بازرسی کنید. راه اندازی ، سوالات اول و راهنمای ارائه "
|
||
"دهنده بومی."
|
||
|
||
#: website/public/get-started/index.html:199
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Node.js version check"
|
||
msgstr "نسخه Node.js را کپی کنید"
|
||
|
||
#: website/public/get-started/index.html:220
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Node.js installation command for Windows"
|
||
msgstr "کپی Node.js دستور نصب برای Windows"
|
||
|
||
#: website/public/get-started/index.html:243
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy PowerShell execution policy command"
|
||
msgstr "کپی PowerShell اجرای دستور سیاست"
|
||
|
||
#: website/public/get-started/index.html:259
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Homebrew Node.js installation command"
|
||
msgstr "کپی Homebrew Node.js دستور نصب"
|
||
|
||
#: website/public/get-started/index.html:274
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy fnm installation command for macOS"
|
||
msgstr "کپی دستور نصب fnm برای macOS"
|
||
|
||
#: website/public/get-started/index.html:289
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Node.js 24 commands for macOS"
|
||
msgstr "کپی Node.js 24 دستورات برای macOS"
|
||
|
||
#: website/public/get-started/index.html:305
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy fnm installation command for Linux"
|
||
msgstr "کپی دستور نصب fnm برای Linux"
|
||
|
||
#: website/public/get-started/index.html:324
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Node.js 24 commands for Linux"
|
||
msgstr "کپی Node.js 24 دستورات برای Linux"
|
||
|
||
#: website/public/get-started/index.html:347
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/get-started/index.html:356
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "REA getting started guide"
|
||
msgstr "راهنمای شروع REA"
|
||
|
||
#: website/public/get-started/index.html:410
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy REA installation prompt"
|
||
msgstr "کپی REA نصب و راه اندازی prompt"
|
||
|
||
#: website/public/get-started/index.html:456
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy agent setup command"
|
||
msgstr "دستور Copy agent setup"
|
||
|
||
#: website/public/get-started/index.html:532
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy JavaScript analysis command"
|
||
msgstr "دستور تجزیه و تحلیل JavaScript را کپی کنید"
|
||
|
||
#: website/public/get-started/index.html:591
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy CLI installation command"
|
||
msgstr "دستور نصب CLI را کپی کنید"
|
||
|
||
#: website/public/get-started/index.html:632
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy ghidra connection · macos / linux"
|
||
msgstr "کپی اتصال ghidra · macos / لینوکس"
|
||
|
||
#: website/public/get-started/index.html:664
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Ghidra connection for Windows PowerShell"
|
||
msgstr "کپی اتصال Ghidra برای Windows PowerShell"
|
||
|
||
#: website/public/get-started/index.html:721
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy IDA connection for Windows PowerShell"
|
||
msgstr "کپی اتصال IDA برای Windows PowerShell"
|
||
|
||
#: website/public/get-started/index.html:762
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy native function analysis command"
|
||
msgstr "کپی دستور تجزیه و تحلیل تابع بومی"
|
||
|
||
#: website/public/get-started/index.html:802
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy client diagnosis command"
|
||
msgstr "دستور تشخیص مشتری را کپی کنید"
|
||
|
||
#: website/public/get-started/index.html:818
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy provider diagnosis command"
|
||
msgstr "دستور تشخیص ارائه دهنده کپی"
|
||
|
||
#: website/public/get-started/index.html:869
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/guides/browser/index.html:99
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../../">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="../">
|
||
#. {ph3}: </a>
|
||
#: website/public/guides/browser/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "{ph0}Home{ph1} / {ph2}Guides{ph3} / Browser observation"
|
||
msgstr "{ph0}خانه{ph1} / {ph2}راهنماها{ph3} / مشاهده مرورگر"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/guides/browser/index.html:185
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "See what happens{ph0}when you click."
|
||
msgstr "ببینید چه اتفاقی می افتد{ph0}وقتی کلیک می کنید."
|
||
|
||
#: website/public/guides/browser/index.html:186
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"Use a small browser app to connect an action, its network request and the "
|
||
"JavaScript that builds a download."
|
||
msgstr ""
|
||
"از یک برنامه مرورگر کوچک برای اتصال یک عمل ، درخواست شبکه آن و JavaScript که"
|
||
" یک بارگیری ایجاد می کند استفاده کنید."
|
||
|
||
#: website/public/guides/browser/index.html:193
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "In this guide"
|
||
msgstr "در این راهنما"
|
||
|
||
#. {ph0}: <a href="#example">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/browser/index.html:195
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "{ph0}The example{ph1}"
|
||
msgstr "{ph0}مثال{ph1}"
|
||
|
||
#. {ph0}: <a href="#prepare">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/browser/index.html:196
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "{ph0}Open the browser{ph1}"
|
||
msgstr "{ph0}مرورگر را باز کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#ask">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/browser/index.html:197
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "{ph0}Ask your agent{ph1}"
|
||
msgstr "{ph0}از نماینده خود بپرسید{ph1}"
|
||
|
||
#. {ph0}: <a href="#capture">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/browser/index.html:198
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "{ph0}Capture from CLI{ph1}"
|
||
msgstr "{ph0}ضبط از CLI {ph1}"
|
||
|
||
#. {ph0}: <a href="#result">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/browser/index.html:199
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "{ph0}Read the request and script{ph1}"
|
||
msgstr "{ph0}درخواست و اسکریپت را بخوانید{ph1}"
|
||
|
||
#: website/public/guides/browser/index.html:204
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "What happens when you click Export?"
|
||
msgstr "وقتی روی Export کلیک می کنید چه اتفاقی می افتد ؟"
|
||
|
||
#. {ph0}: <a href="../../examples/notes-web/">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <strong>
|
||
#. {ph3}: </strong>
|
||
#. {ph4}: <code>notes.json</code>
|
||
#: website/public/guides/browser/index.html:205
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"The {ph0}Notes browser example{ph1} has an {ph2}Export notes{ph3} button. "
|
||
"Clicking it loads {ph4}, formats the two notes as CSV, and starts a "
|
||
"download."
|
||
msgstr ""
|
||
"این {ph0}یادداشت مثال مرورگر{ph1} دارای یک {ph2}یادداشت های صادراتی{ph3} "
|
||
"دکمه. با کلیک بر روی آن بارگذاری می شود {ph4}، دو یادداشت را به عنوان CSV "
|
||
"فرمت می کند و شروع به دانلود می کند."
|
||
|
||
#: website/public/guides/browser/index.html:213
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "From the click to the CSV download"
|
||
msgstr "از کلیک تا دانلود CSV"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/guides/browser/index.html:215
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"{ph0}01 · You{ph1}{ph2}Click Export notes{ph3}{ph4}Perform the action in "
|
||
"your browser while the capture is running.{ph5}"
|
||
msgstr ""
|
||
"{ph0}01 * شما{ph1}{ph2}روی یادداشت های صادرات کلیک کنید{ph3}{ph4}عمل را در "
|
||
"مرورگر خود انجام دهید در حالی که ضبط در حال اجرا است.{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/guides/browser/index.html:223
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"{ph0}02 · REA{ph1}{ph2}Record the request{ph3}{ph4}Capture the request URL, "
|
||
"response status and JSON structure from the selected page.{ph5}"
|
||
msgstr ""
|
||
"{ph0}02 * REA {ph1}{ph2}ثبت درخواست{ph3}{ph4}Capturel درخواست ، وضعیت پاسخ و"
|
||
" ساختار JSON را از صفحه انتخاب شده ضبط کنید.{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: <code>fetch("./notes.json")</code>
|
||
#. {ph6}: <code>export.js</code>
|
||
#. {ph7}: </span >
|
||
#: website/public/guides/browser/index.html:231
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"{ph0}03 · Your agent{ph1}{ph2}Read the export code{ph3}{ph4}Connect the "
|
||
"observed request to {ph5} in {ph6}.{ph7}"
|
||
msgstr ""
|
||
"{ph0}03 * نماینده شما{ph1}{ph2}کد صادرات را بخوانید{ph3}{ph4}درخواست مشاهده "
|
||
"شده را به {ph5} در {ph6}.{ph7}"
|
||
|
||
#: website/public/guides/browser/index.html:244
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Start the capture before clicking Export notes."
|
||
msgstr "قبل از کلیک بر روی یادداشت های صادرات ، ضبط را شروع کنید."
|
||
|
||
#: website/public/guides/browser/index.html:250
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Open Chrome with remote debugging"
|
||
msgstr "Chrome را با اشکال زدایی از راه دور باز کنید"
|
||
|
||
#: website/public/guides/browser/index.html:251
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"Open the hosted Notes example with a separate browser profile and a local "
|
||
"debugging port. On Linux:"
|
||
msgstr ""
|
||
"مثال یادداشت های میزبان را با یک پروفایل مرورگر جداگانه و یک پورت اشکال "
|
||
"زدایی محلی باز کنید. در Linux :"
|
||
|
||
#: website/public/guides/browser/index.html:257
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Start the example browser"
|
||
msgstr "مرورگر مثال را شروع کنید"
|
||
|
||
#: website/public/guides/browser/index.html:258
|
||
#: website/public/guides/browser/index.html:290
|
||
#: website/public/guides/browser/index.html:324
|
||
#: website/public/guides/browser/index.html:343
|
||
#: website/public/guides/browser/index.html:408
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#: website/public/guides/browser/index.html:272
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"Use your installed browser's executable path on macOS or Windows. You can "
|
||
"replace the page URL with another page you want to inspect."
|
||
msgstr ""
|
||
"از مسیر اجرایی مرورگر نصب شده خود در macOS یا Windows استفاده کنید . شما می "
|
||
"توانید URL صفحه را با صفحه دیگری که می خواهید بازرسی کنید جایگزین کنید."
|
||
|
||
#: website/public/guides/browser/index.html:277
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"REA connects to this existing browser. You keep control of the page, perform"
|
||
" the action, and close the browser when finished."
|
||
msgstr ""
|
||
"REA به این مرورگر موجود متصل می شود. شما کنترل صفحه را حفظ می کنید ، عمل را "
|
||
"انجام می دهید و مرورگر را پس از اتمام بسته می کنید."
|
||
|
||
#: website/public/guides/browser/index.html:283
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Ask your agent to watch one action"
|
||
msgstr "از مامور خود بخواهید که یک عمل را تماشا کند"
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/guides/browser/index.html:286
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="browser-prompt" >
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph5}: </span>
|
||
#: website/public/guides/browser/index.html:299
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to inspect this page while I click Export notes. "
|
||
"What request does it make, and how is the CSV built?{ph3}{ph4}{ph5}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}از REA برای بازرسی این صفحه استفاده کنید در حالی که من روی "
|
||
"یادداشت های صادرات کلیک می کنم. چه درخواستی دارد و CSV چگونه ساخته می شود ؟ "
|
||
"{ph3}{ph4}{ph5}"
|
||
|
||
#. {ph0}: <code>http://127.0.0.1:9222</code>
|
||
#: website/public/guides/browser/index.html:307
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"Example prompt. Give your agent the debugging endpoint, {ph0}, and the page "
|
||
"URL. Let it start the capture before you click."
|
||
msgstr ""
|
||
"مثال سریع. به نماینده خود نقطه پایان اشکال زدایی را بدهید, {ph0}، و URL "
|
||
"صفحه. بگذارید قبل از کلیک ضبط را شروع کند."
|
||
|
||
#: website/public/guides/browser/index.html:312
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"Your agent discovers the page target, starts an observation window, and "
|
||
"reads the resulting evidence. It can then inspect the script behind the "
|
||
"export."
|
||
msgstr ""
|
||
"نماینده شما هدف صفحه را کشف می کند ، یک پنجره مشاهده را شروع می کند و شواهد "
|
||
"حاصل را می خواند. سپس می تواند اسکریپت پشت صادرات را بررسی کند."
|
||
|
||
#: website/public/guides/browser/index.html:319
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Or capture from the terminal"
|
||
msgstr "یا از ترمینال ضبط کنید"
|
||
|
||
#: website/public/guides/browser/index.html:320
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Find the page's target ID:"
|
||
msgstr "شناسه هدف صفحه را پیدا کنید:"
|
||
|
||
#: website/public/guides/browser/index.html:323
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Find the page"
|
||
msgstr "صفحه را پیدا کنید"
|
||
|
||
#. {ph0}: <code>TARGET_ID</code>
|
||
#: website/public/guides/browser/index.html:336
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"Choose the target with the Notes example URL. Replace {ph0} below with its "
|
||
"ID, then run:"
|
||
msgstr ""
|
||
"هدف را با Notesl مثال یادداشت ها انتخاب کنید. جایگزین کنید {ph0} در زیر با "
|
||
"ID آن ، سپس اجرا:"
|
||
|
||
#: website/public/guides/browser/index.html:342
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Capture the next ten seconds"
|
||
msgstr "ده ثانیه ی بعد رو ضبط کن"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/guides/browser/index.html:358
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"Let the command connect for a few seconds, then click {ph0}Export notes{ph1}"
|
||
" in that browser. The result arrives after the observation window ends."
|
||
msgstr ""
|
||
"اجازه دهید دستور برای چند ثانیه متصل شود ، سپس روی {ph0}یادداشت های "
|
||
"صادراتی{ph1} در اون مرورگر نتیجه پس از پایان پنجره مشاهده می رسد."
|
||
|
||
#: website/public/guides/browser/index.html:363
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"The captured result includes the selected page, network activity during that"
|
||
" window, and the shape of the JSON response. Earlier requests are outside "
|
||
"this capture."
|
||
msgstr ""
|
||
"نتیجه گرفته شده شامل صفحه انتخاب شده ، فعالیت شبکه در طول آن پنجره و شکل "
|
||
"پاسخ JSON است. درخواست های قبلی خارج از این دستگیری است."
|
||
|
||
#: website/public/guides/browser/index.html:370
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Read the request and export script"
|
||
msgstr "درخواست و اسکریپت صادرات را بخوانید"
|
||
|
||
#: website/public/guides/browser/index.html:373
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Recorded with REA 4.1.0 on the local Notes example"
|
||
msgstr "با REA 4.1.0 در مثال یادداشت های محلی ضبط شده است"
|
||
|
||
#: website/public/guides/browser/index.html:378
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Captured fact"
|
||
msgstr "واقعیت ثبت شده"
|
||
|
||
#: website/public/guides/browser/index.html:379
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Value"
|
||
msgstr "ارزش"
|
||
|
||
#: website/public/guides/browser/index.html:384
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Request"
|
||
msgstr "درخواست"
|
||
|
||
#: website/public/guides/browser/index.html:388
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Response"
|
||
msgstr "پاسخ"
|
||
|
||
#: website/public/guides/browser/index.html:392
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Request initiator"
|
||
msgstr "درخواست آغازگر"
|
||
|
||
#. {ph0}: <code>export.js</code>
|
||
#: website/public/guides/browser/index.html:393
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "{ph0} · script"
|
||
msgstr "{ph0} * اسکریپت"
|
||
|
||
#: website/public/guides/browser/index.html:396
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Response structure"
|
||
msgstr "ساختار پاسخ"
|
||
|
||
#. {ph0}: <code>notes[]</code>
|
||
#. {ph1}: <code>id</code>
|
||
#. {ph2}: <code>title</code>
|
||
#: website/public/guides/browser/index.html:397
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "{ph0} with {ph1} and {ph2} fields"
|
||
msgstr "{ph0} با {ph1} و {ph2} رشته ها"
|
||
|
||
#: website/public/guides/browser/index.html:407
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Read the loaded scripts"
|
||
msgstr "اسکریپت های لود شده را بخوانید"
|
||
|
||
#. {ph0}: <code>export.js</code>
|
||
#: website/public/guides/browser/index.html:421
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"The request identifies the data source, and REA records {ph0} as its "
|
||
"initiator. Read the captured script source to see how the data is used:"
|
||
msgstr ""
|
||
"درخواست منبع داده و سوابق REA را شناسایی می کند {ph0} به عنوان آغازگر آن. "
|
||
"منبع اسکریپت ضبط شده را بخوانید تا ببینید که چگونه از داده ها استفاده می "
|
||
"شود:"
|
||
|
||
#. {ph0}: <code>notes.json</code>
|
||
#: website/public/guides/browser/index.html:441
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"The download is constructed in the page using the JSON response. The CSV "
|
||
"formatting step comes from the script; the network capture establishes that "
|
||
"this click requested {ph0}."
|
||
msgstr ""
|
||
"دانلود در صفحه با استفاده از پاسخ JSON ساخته شده است. مرحله قالب بندی CSV از"
|
||
" اسکریپت می آید ؛ ضبط شبکه ثابت می کند که این کلیک درخواست شده است {ph0}."
|
||
|
||
#. {ph0}: <code>notes.json</code>
|
||
#: website/public/guides/browser/index.html:457
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"Find the script that requests {ph0}. How does it escape titles containing "
|
||
"commas or quotation marks?"
|
||
msgstr ""
|
||
"اسکریپت مورد نظر را پیدا کنید {ph0}. چگونه از عناوین حاوی کاما یا علامت نقل "
|
||
"قول فرار می کند ؟"
|
||
|
||
#. {ph0}: <a href="../javascript/">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/browser/index.html:462
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"For an installed JavaScript or Electron app, continue with the "
|
||
"{ph0}application workflow{ph1} to follow files and process boundaries."
|
||
msgstr ""
|
||
"برای نصب JavaScript یا Electron برنامه ، ادامه با {ph0}گردش کار برنامه{ph1} "
|
||
"برای دنبال کردن فایل ها و پردازش مرزهای."
|
||
|
||
#: website/public/guides/browser/index.html:6
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Browser and Network Analysis — REA"
|
||
msgstr "تجزیه و تحلیل مرورگر و شبکه-REA"
|
||
|
||
#: website/public/guides/browser/index.html:7
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"Observe a Notes export with REA: select a browser page, capture a click, "
|
||
"inspect the request and follow the export script."
|
||
msgstr ""
|
||
"مشاهده صادرات یادداشت با REA: یک صفحه مرورگر را انتخاب کنید ، یک کلیک را ضبط"
|
||
" کنید ، درخواست را بررسی کنید و اسکریپت صادرات را دنبال کنید."
|
||
|
||
#: website/public/guides/browser/index.html:192
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/guides/browser/index.html:202
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Browser observation"
|
||
msgstr "مشاهده مرورگر"
|
||
|
||
#: website/public/guides/browser/index.html:258
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Copy start the example browser"
|
||
msgstr "کپی کنید ، مرورگر نمونه را شروع کنید"
|
||
|
||
#: website/public/guides/browser/index.html:290
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Copy example prompt"
|
||
msgstr "کپی مثال prompt"
|
||
|
||
#: website/public/guides/browser/index.html:324
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Copy find the page"
|
||
msgstr "کپی پیدا کردن صفحه"
|
||
|
||
#: website/public/guides/browser/index.html:343
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Copy capture the next ten seconds"
|
||
msgstr "کپی گرفتن ده ثانیه بعدی"
|
||
|
||
#: website/public/guides/browser/index.html:408
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Copy read the loaded scripts"
|
||
msgstr "کپی خواندن اسکریپت های لود شده"
|
||
|
||
#: website/public/guides/browser/index.html:485
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/guides/index.html:99
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:guides/index.html"
|
||
msgid "{ph0}Home{ph1} / Guides"
|
||
msgstr "{ph0}خانه{ph1} / راهنماها"
|
||
|
||
#: website/public/guides/index.html:182
|
||
msgctxt "page:guides/index.html"
|
||
msgid "REA guides."
|
||
msgstr "راهنماهای REA."
|
||
|
||
#: website/public/guides/index.html:183
|
||
msgctxt "page:guides/index.html"
|
||
msgid ""
|
||
"Analyze a native function, an Electron export or a browser request. Each "
|
||
"guide includes a prompt, code and results."
|
||
msgstr ""
|
||
"تجزیه و تحلیل یک تابع بومی ، صادرات Electron یا درخواست مرورگر. هر راهنما "
|
||
"شامل یک پیام ، کد و نتایج است."
|
||
|
||
#: website/public/guides/index.html:190
|
||
msgctxt "page:guides/index.html"
|
||
msgid "First investigation"
|
||
msgstr "اولین تحقیق"
|
||
|
||
#: website/public/guides/index.html:192
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Set up REA"
|
||
msgstr "راه اندازی REA"
|
||
|
||
#: website/public/guides/index.html:193
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Connect your coding agent or use REA from the terminal."
|
||
msgstr "عامل کدگذاری خود را وصل کنید یا از REA از ترمینال استفاده کنید."
|
||
|
||
#: website/public/guides/index.html:194
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Get started with REA"
|
||
msgstr "با REA شروع کنید"
|
||
|
||
#: website/public/guides/index.html:198
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Native binaries"
|
||
msgstr "برنامه های کد ماشین"
|
||
|
||
#: website/public/guides/index.html:200
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Recover a sound-pan calculation"
|
||
msgstr "بازیابی محاسبه موقعیت صدای چپ / راست"
|
||
|
||
#: website/public/guides/index.html:201
|
||
msgctxt "page:guides/index.html"
|
||
msgid ""
|
||
"Start with a Windows game executable. Inspect instructions, follow a caller,"
|
||
" read numeric constants and check the recovered C."
|
||
msgstr ""
|
||
"با یک فایل اجرایی بازی Windows شروع کنید. دستورالعمل ها را بازرسی کنید ، یک "
|
||
"تماس گیرنده را دنبال کنید ، ثابت های عددی را بخوانید و C بازیابی شده را "
|
||
"بررسی کنید."
|
||
|
||
#: website/public/guides/index.html:211
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Native analysis guide"
|
||
msgstr "تجزیه و تحلیل برنامه های کد ماشین راهنما"
|
||
|
||
#: website/public/guides/index.html:215
|
||
msgctxt "page:guides/index.html"
|
||
msgid "JavaScript & Electron"
|
||
msgstr "JavaScript و Electron"
|
||
|
||
#: website/public/guides/index.html:217
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Follow a CSV export"
|
||
msgstr "صادرات CSV را دنبال کنید"
|
||
|
||
#: website/public/guides/index.html:218
|
||
msgctxt "page:guides/index.html"
|
||
msgid ""
|
||
"A small Notes app spreads one feature across the renderer, preload and main "
|
||
"process. Use REA to connect the API, IPC channel and file writer."
|
||
msgstr ""
|
||
"یک برنامه یادداشت های کوچک یک ویژگی را در رندر ، پیش بارگذاری و فرآیند اصلی "
|
||
"گسترش می دهد. از REA برای اتصال API ، کانال IPC و file writer استفاده کنید."
|
||
|
||
#: website/public/guides/index.html:228
|
||
msgctxt "page:guides/index.html"
|
||
msgid "JavaScript & Electron guide"
|
||
msgstr "راهنمای JavaScript و Electron"
|
||
|
||
#. {ph0}: <a href="../showcase/notion/">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/index.html:231
|
||
#, python-brace-format
|
||
msgctxt "page:guides/index.html"
|
||
msgid "For a larger packaged app, follow {ph0}Notion's clipboard bridge{ph1}."
|
||
msgstr ""
|
||
"برای یک برنامه بسته بندی بزرگتر ، دنبال کنید {ph0} پل کلیپ بورد Notion{ph1}."
|
||
|
||
#: website/public/guides/index.html:238
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Browser behavior"
|
||
msgstr "رفتار مرورگر"
|
||
|
||
#: website/public/guides/index.html:240
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Observe a click"
|
||
msgstr "مشاهده یک کلیک"
|
||
|
||
#: website/public/guides/index.html:241
|
||
msgctxt "page:guides/index.html"
|
||
msgid ""
|
||
"Open a working Notes example, capture an export request and find the code "
|
||
"that turns its response into a download."
|
||
msgstr ""
|
||
"یک مثال یادداشت های کاری را باز کنید ، یک درخواست صادرات را ضبط کنید و کد را"
|
||
" پیدا کنید که پاسخ آن را به یک دانلود تبدیل می کند."
|
||
|
||
#: website/public/guides/index.html:250
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Browser observation guide"
|
||
msgstr "راهنمای مشاهده مرورگر"
|
||
|
||
#: website/public/guides/index.html:6
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Reverse Engineering Guides — REA"
|
||
msgstr "راهنماهای مهندسی معکوس-REA"
|
||
|
||
#: website/public/guides/index.html:7
|
||
msgctxt "page:guides/index.html"
|
||
msgid ""
|
||
"Learn REA through short worked examples: a native calculation, an Electron "
|
||
"CSV export and a browser request."
|
||
msgstr ""
|
||
"REA را از طریق نمونه های کوتاه کار شده یاد بگیرید: یک محاسبه بومی ، یک "
|
||
"صادرات Electron CSV و یک درخواست مرورگر."
|
||
|
||
#: website/public/guides/index.html:269
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/guides/javascript/index.html:99
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../../">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="../">
|
||
#. {ph3}: </a>
|
||
#: website/public/guides/javascript/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "{ph0}Home{ph1} / {ph2}Guides{ph3} / JavaScript & Electron"
|
||
msgstr "{ph0}خانه{ph1} / {ph2}راهنماها{ph3} / JavaScript و Electron"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/guides/javascript/index.html:185
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Trace an Electron{ph0}CSV export."
|
||
msgstr "ردیابی Electron {ph0} صادرات CSV."
|
||
|
||
#: website/public/guides/javascript/index.html:186
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"Follow a button click from the page API, through Electron IPC, to the CSV "
|
||
"file writer."
|
||
msgstr ""
|
||
"یک دکمه را دنبال کنید از API صفحه ، از طریق Electron IPC ، به CSV file "
|
||
"writer کلیک کنید."
|
||
|
||
#: website/public/guides/javascript/index.html:193
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "In this guide"
|
||
msgstr "در این راهنما"
|
||
|
||
#. {ph0}: <a href="#example">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/javascript/index.html:195
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "{ph0}The example{ph1}"
|
||
msgstr "{ph0}مثال{ph1}"
|
||
|
||
#. {ph0}: <a href="#ask">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/javascript/index.html:196
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "{ph0}Ask your agent{ph1}"
|
||
msgstr "{ph0}از نماینده خود بپرسید{ph1}"
|
||
|
||
#. {ph0}: <a href="#follow">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/javascript/index.html:197
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "{ph0}Trace the export code{ph1}"
|
||
msgstr "{ph0}کد صادرات را ردیابی کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#try">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/javascript/index.html:198
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "{ph0}Try the example{ph1}"
|
||
msgstr "{ph0}مثال را امتحان کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#next">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/javascript/index.html:199
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "{ph0}Inspect the CSV writer{ph1}"
|
||
msgstr "{ph0}نویسنده CSV را بازرسی کنید{ph1}"
|
||
|
||
#: website/public/guides/javascript/index.html:204
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Where does “Export notes” go?"
|
||
msgstr "\"یادداشت های صادراتی\" به کجا می رود؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/guides/javascript/index.html:205
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"This guide uses a small Electron app. Clicking {ph0}Export notes{ph1} calls "
|
||
"an API in the page, crosses into the main process, and writes a CSV. The "
|
||
"behavior is spread across several files."
|
||
msgstr ""
|
||
"این راهنما از یک برنامه کوچک Electron استفاده می کند. کلیک کردن {ph0}یادداشت"
|
||
" های صادراتی{ph1} یک API را در صفحه فرا می خواند ، به فرآیند اصلی می رود و "
|
||
"یک CSV می نویسد . این رفتار در چندین پرونده پخش شده است."
|
||
|
||
#: website/public/guides/javascript/index.html:212
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "The CSV export across Electron processes"
|
||
msgstr "صادرات CSV در سراسر فرآیندهای Electron"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: <code>notes.exportCsv()</code>
|
||
#. {ph4}: </span >
|
||
#. {ph5}: <span class="flow-note" >
|
||
#. {ph6}: <code>renderer.js</code>
|
||
#. {ph7}: <code>preload.js</code>
|
||
#. {ph8}: </span >
|
||
#: website/public/guides/javascript/index.html:216
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"{ph0}Renderer → preload{ph1}{ph2}{ph3}{ph4}{ph5}{ph6} calls the API exposed "
|
||
"by {ph7}.{ph8}"
|
||
msgstr ""
|
||
"{ph0}رندر → پیش بارگذاری{ph1}{ph2}{ph3}{ph4}{ph5}{ph6} تماس API در معرض توسط"
|
||
" {ph7}.{ph8}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: <code>notes:export</code>
|
||
#. {ph4}: </span >
|
||
#. {ph5}: <span class="flow-note" >
|
||
#. {ph6}: </span >
|
||
#: website/public/guides/javascript/index.html:224
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"{ph0}Between processes{ph1}{ph2}{ph3}{ph4}{ph5}The preload invokes an IPC "
|
||
"channel: a named message to the main process.{ph6}"
|
||
msgstr ""
|
||
"{ph0}بین فرایندها{ph1}{ph2}{ph3}{ph4}{ph5}پیش بارگذاری یک کانال IPC را فرا "
|
||
"می خواند: یک پیام نامگذاری شده به فرآیند اصلی.{ph6}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: <code>main.js</code>
|
||
#. {ph6}: </span >
|
||
#: website/public/guides/javascript/index.html:232
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"{ph0}Main process{ph1}{ph2}An export handler{ph3}{ph4}{ph5} handles that "
|
||
"channel and calls the CSV writer.{ph6}"
|
||
msgstr ""
|
||
"{ph0}فرایند اصلی{ph1}{ph2}یک کنترل کننده صادرات{ph3}{ph4}{ph5} اون کانال رو "
|
||
"اداره ميکنه و به نويسنده CSV زنگ ميزنه{ph6}"
|
||
|
||
#. {ph0}: <code>csv.js</code>
|
||
#. {ph1}: <code>main.js</code>
|
||
#. {ph2}: <code>downloads/notes.csv</code>
|
||
#: website/public/guides/javascript/index.html:241
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "{ph0} formats the notes → {ph1} writes {ph2}."
|
||
msgstr "{ph0} یادداشت ها را فرمت می کند → {ph1} می نویسد {ph2}."
|
||
|
||
#: website/public/guides/javascript/index.html:245
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"REA matches the literal IPC call to its handler and identifies the exposed "
|
||
"API. The path is inferred from code; a runtime capture can check what "
|
||
"executes."
|
||
msgstr ""
|
||
"REA با تماس IPC واقعی با کنترل کننده آن مطابقت دارد و API در معرض را شناسایی"
|
||
" می کند. مسیر از کد استنباط می شود ؛ یک ضبط زمان اجرا می تواند بررسی کند که "
|
||
"چه چیزی اجرا می شود."
|
||
|
||
#: website/public/guides/javascript/index.html:253
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Ask about the CSV export"
|
||
msgstr "درباره صادرات CSV بپرسید"
|
||
|
||
#. {ph0}: <a href="../../get-started/#agent">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/javascript/index.html:254
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"{ph0}Connect your agent to REA{ph1} and give it the app directory or ASAR "
|
||
"file:"
|
||
msgstr ""
|
||
"{ph0}نماینده خود را به REA متصل کنید {ph1} و به آن دایرکتوری برنامه یا فایل "
|
||
"ASAR را بدهید:"
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/guides/javascript/index.html:260
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#: website/public/guides/javascript/index.html:264
|
||
#: website/public/guides/javascript/index.html:413
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="javascript-prompt" >
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph5}: </span>
|
||
#: website/public/guides/javascript/index.html:273
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to find what happens when I export notes in this "
|
||
"app. Where is the CSV created?{ph3}{ph4}{ph5}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}استفاده از REA برای پیدا کردن آنچه اتفاق می افتد زمانی که من"
|
||
" صادرات یادداشت در این برنامه. CSV در کجا ایجاد شده است ؟ {ph3}{ph4}{ph5}"
|
||
|
||
#. {ph0}: <code>app.asar</code>
|
||
#: website/public/guides/javascript/index.html:281
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"Example prompt. Include the absolute path to the application folder or "
|
||
"{ph0}."
|
||
msgstr "مثال سریع. شامل مسیر مطلق به پوشه برنامه یا {ph0}."
|
||
|
||
#: website/public/guides/javascript/index.html:285
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"REA reads the application files and builds a map of entrypoints, modules and"
|
||
" process boundaries. Your agent uses that map to narrow the investigation to"
|
||
" the export feature."
|
||
msgstr ""
|
||
"REA فایل های برنامه را می خواند و نقشه ای از نقاط ورودی ، ماژول ها و مرزهای "
|
||
"فرآیند را می سازد. مامور شما از اون نقشه استفاده ميکنه تا تحقيقات رو به "
|
||
"خصوصيت صادرات محدود کنه"
|
||
|
||
#: website/public/guides/javascript/index.html:292
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Trace the export code"
|
||
msgstr "کد صادرات را ردیابی کنید"
|
||
|
||
#: website/public/guides/javascript/index.html:293
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "The page calls a small API"
|
||
msgstr "صفحه یک API کوچک را فرا می خواند"
|
||
|
||
#: website/public/guides/javascript/index.html:306
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"The page knows the method name. The implementation lives in the preload, "
|
||
"which exposes it to the renderer."
|
||
msgstr ""
|
||
"صفحه نام روش را می داند. پیاده سازی در پیش بارگذاری زندگی می کند که آن را در"
|
||
" معرض رندر قرار می دهد."
|
||
|
||
#. {ph0}: <code>notes.exportCsv</code>
|
||
#. {ph1}: <code>notes:export</code>
|
||
#: website/public/guides/javascript/index.html:320
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"REA records {ph0} and the literal channel {ph1}. It pairs that invocation "
|
||
"with the single matching handler in the main process."
|
||
msgstr ""
|
||
"سوابق REA {ph0} و کانال به معنای واقعی کلمه {ph1}. این فراخوان را با یک "
|
||
"کنترل کننده تطبیق دهنده در فرآیند اصلی جفت می کند."
|
||
|
||
#. {ph0}: <code>csv.js</code>
|
||
#. {ph1}: <code>notes.csv</code>
|
||
#: website/public/guides/javascript/index.html:337
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"Reading the handler answers the original question: {ph0} formats the notes, "
|
||
"and the main process writes {ph1} into the user's Downloads folder."
|
||
msgstr ""
|
||
"خواندن handler به سوال اصلی پاسخ می دهد: {ph0} یادداشت ها را فرمت می کند و "
|
||
"فرآیند اصلی می نویسد {ph1} به پوشه دانلود کاربر."
|
||
|
||
#: website/public/guides/javascript/index.html:354
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"Recorded by REA 4.1.0 on the downloadable example below. Source locations "
|
||
"accompany the API, channel and handler findings."
|
||
msgstr ""
|
||
"ضبط شده توسط REA 4.1.0 در مثال زیر قابل دانلود است. مکان های منبع همراه با "
|
||
"api ، کانال و یافته های کنترل کننده است."
|
||
|
||
#: website/public/guides/javascript/index.html:360
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Analyze the example yourself"
|
||
msgstr "مثال را خودتان تجزیه و تحلیل کنید"
|
||
|
||
#. {ph0}: <a class="button" href="../../examples/notes-example.zip"
|
||
#. download="notes-example.zip" >
|
||
#. {ph1}: </a >
|
||
#: website/public/guides/javascript/index.html:367
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "{ph0}Download example ZIP{ph1}"
|
||
msgstr "{ph0}دانلود نمونه زیپ{ph1}"
|
||
|
||
#: website/public/guides/javascript/index.html:376
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Browse the six source files"
|
||
msgstr "شش فایل منبع را مرور کنید"
|
||
|
||
#: website/public/guides/javascript/index.html:412
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Static application analysis"
|
||
msgstr "تجزیه و تحلیل کاربرد استاتیک"
|
||
|
||
#. {ph0}: <code>normalized_result.summary.ipc</code>
|
||
#. {ph1}: <code>normalized_result.graph</code>
|
||
#: website/public/guides/javascript/index.html:425
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"Replace the path with the folder you unzipped. You should find one IPC "
|
||
"channel and one matching handler in {ph0}. Source locations are in {ph1}."
|
||
msgstr ""
|
||
"مسیر را با پوشه ای که باز کرده اید جایگزین کنید. شما باید یک کانال IPC و یک "
|
||
"کنترل کننده تطبیق در {ph0}. مکان های منبع در {ph1}."
|
||
|
||
#: website/public/guides/javascript/index.html:431
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"For your own app, use the same command with its directory or ASAR path. An "
|
||
"agent can follow a literal string, API name or IPC channel with REA's "
|
||
"feature tracing tools."
|
||
msgstr ""
|
||
"برای برنامه خود ، از همان دستور با دایرکتوری یا مسیر ASAR استفاده کنید. یک "
|
||
"عامل می تواند یک رشته ، نام API یا کانال IPC را با ابزارهای ردیابی ویژگی REA"
|
||
" دنبال کند."
|
||
|
||
#: website/public/guides/javascript/index.html:438
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Inspect the CSV writer"
|
||
msgstr "نویسنده CSV را بازرسی کنید"
|
||
|
||
#. {ph0}: <code>notes:export</code>
|
||
#: website/public/guides/javascript/index.html:440
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"Follow {ph0} to its handler. Which inputs reach the CSV writer, and what "
|
||
"happens if writing the file fails?"
|
||
msgstr ""
|
||
"دنبال کنید {ph0} به دستگیره اش کدام ورودی ها به CSV writer می رسند و اگر "
|
||
"نوشتن فایل شکست بخورد چه اتفاقی می افتد ؟"
|
||
|
||
#: website/public/guides/javascript/index.html:446
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"Use the source locations to inspect those details. Computed channel names "
|
||
"and ambiguous handlers can remain unresolved; runtime observations give you "
|
||
"another way to investigate them."
|
||
msgstr ""
|
||
"از مکان های منبع برای بازرسی این جزئیات استفاده کنید. نام کانال های "
|
||
"کامپیوتری و کنترل کننده های مبهم می توانند حل نشده باقی بمانند ؛ مشاهدات "
|
||
"زمان اجرا به شما راه دیگری برای بررسی آنها می دهد."
|
||
|
||
#. {ph0}: <a href="../../showcase/notion/" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span>
|
||
#. {ph3}: </span>
|
||
#: website/public/guides/javascript/index.html:452
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"{ph0}Follow Notion's clipboard bridge{ph1} {ph2}Apply the same approach to a"
|
||
" packaged Electron app.{ph3}"
|
||
msgstr ""
|
||
"{ph0}پل کلیپ بورد Notion را دنبال کنید{ph1} {ph2}همان رویکرد را به یک برنامه"
|
||
" Electron بسته بندی شده اعمال کنید.{ph3}"
|
||
|
||
#. {ph0}: <a href="../browser/">
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/guides/javascript/index.html:458
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"{ph0}Observe a browser export{ph1}{ph2}Capture a real click and see which "
|
||
"request it makes.{ph3}"
|
||
msgstr ""
|
||
"{ph0}صادرات مرورگر را مشاهده کنید{ph1}{ph2}یک کلیک واقعی را ضبط کنید و "
|
||
"ببینید کدام درخواست را انجام می دهد.{ph3}"
|
||
|
||
#. {ph0}: <a href="../native/">
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/guides/javascript/index.html:464
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"{ph0}Follow a native function{ph1}{ph2}Continue into a binary when a feature"
|
||
" depends on native code.{ph3}"
|
||
msgstr ""
|
||
"{ph0}یک تابع بومی را دنبال کنید{ph1}{ph2}ادامه به یک باینری زمانی که یک "
|
||
"ویژگی به کد بومی بستگی دارد.{ph3}"
|
||
|
||
#: website/public/guides/javascript/index.html:6
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "JavaScript and Electron Analysis — REA"
|
||
msgstr "تجزیه و تحلیل JavaScript و Electron — REA"
|
||
|
||
#: website/public/guides/javascript/index.html:7
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"Trace a Notes CSV export through a renderer API, preload and IPC handler "
|
||
"with REA. Includes downloadable example files and a verified analysis "
|
||
"result."
|
||
msgstr ""
|
||
"ردیابی یادداشت CSV صادرات از طریق یک api رندر, پیش بار و کنترل IPC با REA . "
|
||
"شامل فایل های نمونه قابل دانلود و یک نتیجه تجزیه و تحلیل تایید شده است."
|
||
|
||
#: website/public/guides/javascript/index.html:192
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/guides/javascript/index.html:202
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "JavaScript & Electron"
|
||
msgstr "JavaScript و Electron"
|
||
|
||
#: website/public/guides/javascript/index.html:264
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Copy example prompt"
|
||
msgstr "کپی مثال prompt"
|
||
|
||
#: website/public/guides/javascript/index.html:413
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Copy static application analysis"
|
||
msgstr "تجزیه و تحلیل برنامه های استاتیک را کپی کنید"
|
||
|
||
#: website/public/guides/javascript/index.html:490
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/guides/native/index.html:99
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../../">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="../">
|
||
#. {ph3}: </a>
|
||
#: website/public/guides/native/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "{ph0}Home{ph1} / {ph2}Guides{ph3} / Native analysis"
|
||
msgstr ""
|
||
"{ph0}خانه{ph1} / {ph2}راهنماها{ph3} / تجزیه و تحلیل برنامه های کد ماشین"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/guides/native/index.html:184
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Recover DX-Ball's{ph0}sound-pan calculation."
|
||
msgstr "بازیابی DX-Ball{ph0}محاسبه موقعیت صدای چپ / راست."
|
||
|
||
#: website/public/guides/native/index.html:185
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"Inspect the original instructions, identify the input and constants, then "
|
||
"check the recovered C."
|
||
msgstr ""
|
||
"دستورالعمل های اصلی را بررسی کنید ، ورودی و ثابت ها را شناسایی کنید ، سپس C "
|
||
"بازیابی شده را بررسی کنید."
|
||
|
||
#: website/public/guides/native/index.html:192
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "In this guide"
|
||
msgstr "در این راهنما"
|
||
|
||
#. {ph0}: <a href="#example">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/native/index.html:194
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "{ph0}The example{ph1}"
|
||
msgstr "{ph0}مثال{ph1}"
|
||
|
||
#. {ph0}: <a href="#ask">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/native/index.html:195
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "{ph0}Ask your agent{ph1}"
|
||
msgstr "{ph0}از نماینده خود بپرسید{ph1}"
|
||
|
||
#. {ph0}: <a href="#follow">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/native/index.html:196
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "{ph0}Read the REA results{ph1}"
|
||
msgstr "{ph0}نتایج REA را بخوانید{ph1}"
|
||
|
||
#. {ph0}: <a href="#result">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/native/index.html:197
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "{ph0}Recover and check{ph1}"
|
||
msgstr "{ph0}بازیابی و بررسی{ph1}"
|
||
|
||
#. {ph0}: <a href="#try">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/native/index.html:198
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "{ph0}Use your own binary{ph1}"
|
||
msgstr "{ph0}از باینری خود استفاده کنید{ph1}"
|
||
|
||
#: website/public/guides/native/index.html:203
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Calculate left/right sound panning"
|
||
msgstr "موقعیت صدای استریو چپ/راست را محاسبه کنید"
|
||
|
||
#: website/public/guides/native/index.html:204
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"In DX-Ball, a brick hit supplies a horizontal screen position. The sound "
|
||
"code turns it into a left/right panning value."
|
||
msgstr ""
|
||
"در DX-Ball ، یک ضربه آجری یک موقعیت صفحه افقی را فراهم می کند. کد صدا آن را "
|
||
"به یک مقدار پانینگ چپ/راست تبدیل می کند."
|
||
|
||
#. {ph0}: <code>0x00406400</code>
|
||
#. {ph1}: <code>__ftol()</code>
|
||
#: website/public/guides/native/index.html:208
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"The starting function, {ph0}, has a short decompiler result: a call to "
|
||
"{ph1}. REA also returns its instructions and callers, which give the agent a"
|
||
" way to investigate the missing arithmetic."
|
||
msgstr ""
|
||
"تابع شروع, {ph0}، یک نتیجه کوتاه از کامپایلر دارد: یک تماس به {ph1}. REA "
|
||
"همچنین دستورالعمل ها و تماس گیرندگان خود را باز می گرداند که به نماینده راهی"
|
||
" برای بررسی حساب گمشده می دهد."
|
||
|
||
#: website/public/guides/native/index.html:215
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "New to these terms?"
|
||
msgstr "تازه وارد اين اصطلاحات هستي ؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>MOV</code>
|
||
#. {ph3}: <code>ADD</code>
|
||
#: website/public/guides/native/index.html:217
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}Instructions:{ph1} the steps the processor runs, shown in readable form"
|
||
" such as {ph2} or {ph3}."
|
||
msgstr ""
|
||
"{ph0}دستورالعمل ها:{ph1} مراحل اجرا شده توسط پردازنده ، به شکل قابل خواندن "
|
||
"نشان داده شده است مانند {ph2} یا {ph3}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/guides/native/index.html:222
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}Decompiler result / pseudocode:{ph1} an analysis tool's attempt to turn"
|
||
" instructions back into C-like code. It can miss parts, as in this example."
|
||
msgstr ""
|
||
"{ph0}نتیجه Decompiler / pseudocode:{ph1} تلاش یک ابزار تجزیه و تحلیل برای "
|
||
"تبدیل دستورالعمل ها به کد شبیه C. می تواند قطعات را از دست بدهد ، همانطور که"
|
||
" در این مثال است."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/guides/native/index.html:227
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}Caller:{ph1} a function that calls this one. It shows which values are "
|
||
"passed in."
|
||
msgstr ""
|
||
"{ph0}تماس گیرنده:{ph1} تابعی که این یکی را فراخوانی می کند. این نشان می دهد "
|
||
"که کدام مقادیر در آن منتقل می شوند."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>0x00406400</code>
|
||
#: website/public/guides/native/index.html:231
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}Address:{ph1} a location in the program, written in hexadecimal, such "
|
||
"as {ph2}."
|
||
msgstr ""
|
||
"{ph0}آدرس:{ph1} یک مکان در برنامه ، نوشته شده در هگزادسیمال ، مانند {ph2}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/guides/native/index.html:235
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}Constants:{ph1} fixed numbers stored in the program, read as raw bytes "
|
||
"and decoded."
|
||
msgstr ""
|
||
"{ph0}ثابت ها:{ph1} اعداد ثابت ذخیره شده در برنامه ، به عنوان بایت خام خوانده"
|
||
" شده و رمزگشایی شده است."
|
||
|
||
#: website/public/guides/native/index.html:242
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Three pieces of evidence, one calculation"
|
||
msgstr "سه قطعه شواهد ، یک محاسبه"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/guides/native/index.html:246
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}01 · Instructions{ph1}{ph2}An integer input{ph3}{ph4}A stack read "
|
||
"supplies the value used by the floating-point instructions.{ph5}"
|
||
msgstr ""
|
||
"{ph0}01 * دستورالعمل ها{ph1}{ph2}ورودی عدد صحیح{ph3}{ph4}یک خواندن پشته ارزش"
|
||
" مورد استفاده توسط دستورالعمل های نقطه شناور را فراهم می کند.{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: <code>20 + 30 × tile_x</code>
|
||
#. {ph6}: </span >
|
||
#: website/public/guides/native/index.html:254
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}02 · Caller{ph1}{ph2}A screen coordinate{ph3}{ph4}The brick-hit caller "
|
||
"passes {ph5}.{ph6}"
|
||
msgstr ""
|
||
"{ph0}02 * تماس گیرنده{ph1}{ph2}یک مختصات صفحه نمایش{ph3}{ph4}تماس گيرنده ي "
|
||
"آجر زده رد ميشه {ph5}.{ph6}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: <code>1.5625</code>
|
||
#. {ph6}: <code>500.0</code>
|
||
#. {ph7}: </span >
|
||
#: website/public/guides/native/index.html:262
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}03 · Data bytes{ph1}{ph2}The numeric constants{ph3}{ph4}Referenced "
|
||
"bytes decode to {ph5}, {ph6} and a scale value.{ph7}"
|
||
msgstr ""
|
||
"{ph0}03 * بایت داده{ph1}{ph2}ثابت های عددی{ph3}{ph4}بایت های مرجع رمزگشایی "
|
||
"به {ph5}, {ph6} و یک مقدار مقیاس.{ph7}"
|
||
|
||
#: website/public/guides/native/index.html:274
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"REA supplies the instructions, call relationship and bytes. The agent "
|
||
"interprets them together."
|
||
msgstr ""
|
||
"REA دستورالعمل ها ، رابطه فراخوان تابع و بایت ها را ارائه می دهد. عامل آنها "
|
||
"را با هم تفسیر می کند."
|
||
|
||
#: website/public/guides/native/index.html:281
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Ask about the behavior"
|
||
msgstr "در مورد رفتار بپرسید"
|
||
|
||
#. {ph0}: <a href="../../get-started/#agent" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="../../get-started/#native" >
|
||
#. {ph3}: </a >
|
||
#: website/public/guides/native/index.html:282
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"After {ph0}connecting REA to your agent{ph1} and {ph2}setting up a native "
|
||
"analysis tool{ph3}, provide the local executable and a question:"
|
||
msgstr ""
|
||
"بعد از {ph0}اتصال REA به نماینده شما{ph1} و {ph2}تنظیم یک ابزار تجزیه و "
|
||
"تحلیل برنامه های کد ماشین{ph3}، ارائه فایل اجرایی محلی و یک سوال:"
|
||
|
||
#: website/public/guides/native/index.html:293
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Which analysis tool should I use?"
|
||
msgstr "از کدام ابزار تجزیه و تحلیل استفاده کنم؟"
|
||
|
||
#: website/public/guides/native/index.html:294
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "REA needs one of these to read native programs:"
|
||
msgstr "REA برای خواندن برنامه های بومی به یکی از این موارد نیاز دارد:"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/guides/native/index.html:296
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}Hopper{ph1} (macOS or Linux): REA's setup detects it or offers to "
|
||
"install it. On macOS, open Hopper once and choose demo mode or activate a "
|
||
"license before your first analysis."
|
||
msgstr ""
|
||
"{ph0} Hopper {ph1} (macOS یا Linux ): راه اندازی REA آن را تشخیص می دهد یا "
|
||
"پیشنهاد نصب آن را می دهد. در macOS ، Hopper را یک بار باز کنید و حالت نمایشی"
|
||
" را انتخاب کنید یا مجوز را قبل از اولین تجزیه و تحلیل خود فعال کنید."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/guides/native/index.html:302
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}Ghidra{ph1} (macOS or Linux; experimental on Windows): free, but needs "
|
||
"an existing Ghidra 12.1.x installation and a 64-bit JDK 21 or newer."
|
||
msgstr ""
|
||
"{ph0} Ghidra {ph1} (macOS یا Linux; تجربی در Windows): رایگان, اما نیاز به "
|
||
"Ghidra موجود 12.1.x نصب و 64 بیتی JDK 21 یا جدیدتر."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/guides/native/index.html:307
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}IDA{ph1} (Windows): for an existing IDA setup with an MCP registration."
|
||
msgstr "{ph0} IDA {ph1} (Windows) : برای راه اندازی IDA موجود با ثبت نام MCP."
|
||
|
||
#. {ph0}: <a href="../../get-started/#native">
|
||
#. {ph1}: </a>
|
||
#: website/public/guides/native/index.html:312
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "See {ph0}Set up native analysis{ph1} for the steps."
|
||
msgstr ""
|
||
"ببینید {ph0}راه اندازی تجزیه و تحلیل برنامه های کد ماشین{ph1} برای مراحل"
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/guides/native/index.html:320
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#: website/public/guides/native/index.html:324
|
||
#: website/public/guides/native/index.html:455
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="native-prompt" >
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph5}: </span>
|
||
#: website/public/guides/native/index.html:333
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to find how DX-Ball calculates sound panning. "
|
||
"Explain the calculation and show the code.{ph3}{ph4}{ph5}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}استفاده از REA برای پیدا کردن چگونه DX-Ball محاسبه موقعیت "
|
||
"صدا استریو. محاسبه را توضیح دهید و کد را نشان دهید.{ph3}{ph4}{ph5}"
|
||
|
||
#: website/public/guides/native/index.html:341
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"Example prompt. Give your agent the path to your local DX-Ball 1.07 "
|
||
"executable. REA doesn't include DX-Ball, so use your own copy, or ask the "
|
||
"same kind of question about another small Windows program you have."
|
||
msgstr ""
|
||
"مثال سریع. به نماینده خود مسیر را به DX-Ball 1.07 اجرایی محلی خود بدهید. "
|
||
"REA شامل DX-Ball نیست ، بنابراین از نسخه خود استفاده کنید ، یا همان نوع سوال"
|
||
" را در مورد یک برنامه کوچک Windows که دارید بپرسید."
|
||
|
||
#: website/public/guides/native/index.html:348
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "How do I get a file's full path?"
|
||
msgstr "چطور می توانم مسیر کامل یک فایل را بدست آورم ؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <em>
|
||
#. {ph3}: </em>
|
||
#: website/public/guides/native/index.html:350
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}Windows:{ph1} in File Explorer, right-click the file and choose "
|
||
"{ph2}Copy as path{ph3}. On Windows 10, hold Shift while right-clicking."
|
||
msgstr ""
|
||
"{ph0} Windows :{ph1} در File Explorer ، روی فایل کلیک راست کرده و انتخاب "
|
||
"کنید {ph2}کپی به عنوان مسیر{ph3}. در Windows 10 ، هنگام کلیک راست ، Shift را"
|
||
" نگه دارید."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <em>
|
||
#. {ph3}: </em>
|
||
#: website/public/guides/native/index.html:355
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}macOS:{ph1} in Finder, right-click the file, hold Option and choose "
|
||
"{ph2}Copy \"…\" as Pathname{ph3}."
|
||
msgstr ""
|
||
"{ph0} macOS :{ph1} در Finder ، روی فایل کلیک راست کنید ، گزینه hold را "
|
||
"انتخاب کنید {ph2}\"...\" را به عنوان نام مسیر کپی کنید{ph3}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/guides/native/index.html:359
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}Any system:{ph1} drag the file into a terminal window and its path "
|
||
"appears."
|
||
msgstr ""
|
||
"{ph0}هر سیستم:{ph1} فایل را به یک پنجره ترمینال بکشید و مسیر آن ظاهر می شود."
|
||
|
||
#: website/public/guides/native/index.html:367
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Read the REA results"
|
||
msgstr "نتایج REA را بخوانید"
|
||
|
||
#: website/public/guides/native/index.html:368
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Read the input"
|
||
msgstr "ورودی را بخوانید"
|
||
|
||
#: website/public/guides/native/index.html:377
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"The instructions load an integer argument and convert it for floating-point "
|
||
"arithmetic. This is the input absent from the first pseudocode view."
|
||
msgstr ""
|
||
"دستورالعمل ها یک استدلال عدد صحیح را بارگذاری می کنند و آن را برای حساب نقطه"
|
||
" شناور تبدیل می کنند. این ورودی غایب از اولین نمای شبه کد است."
|
||
|
||
#: website/public/guides/native/index.html:382
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Follow the caller"
|
||
msgstr "تماس گیرنده را دنبال کنید"
|
||
|
||
#. {ph0}: <code>0x14</code>
|
||
#: website/public/guides/native/index.html:391
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"REA identifies the brick-hit caller. Its earlier instructions multiply the "
|
||
"tile coordinate by 30; adding {ph0} (20) gives the brick's screen position."
|
||
msgstr ""
|
||
"REA تماس گیرنده ضربه آجر را شناسایی می کند. دستورالعمل های قبلی آن مختصات "
|
||
"کاشی را با 30 ضرب می کند ؛ اضافه کردن {ph0} (20) موقعیت صفحه نمایش آجر را می"
|
||
" دهد."
|
||
|
||
#: website/public/guides/native/index.html:396
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Read the referenced constants"
|
||
msgstr "ثابت های مرجع را بخوانید"
|
||
|
||
#: website/public/guides/native/index.html:407
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"The arithmetic references these addresses. Reading the bytes supplies the "
|
||
"actual values; the instruction order tells the agent how they are used."
|
||
msgstr ""
|
||
"حساب ها به این آدرس ها اشاره می کنند. خواندن بایت ها ارزش های واقعی را فراهم"
|
||
" می کند ؛ دستور دستورالعمل به عامل می گوید که چگونه از آنها استفاده می شود."
|
||
|
||
#: website/public/guides/native/index.html:414
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Write and check the recovered function"
|
||
msgstr "عملکرد بازیابی شده را بنویسید و بررسی کنید"
|
||
|
||
#: website/public/guides/native/index.html:423
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"With a scale of 1.0, screen positions 0, 320 and 640 map to −500, 0 and 500 "
|
||
"before integer conversion. The calculation puts the center of the screen at "
|
||
"the center of the stereo field."
|
||
msgstr ""
|
||
"با مقیاس 1.0 ، موقعیت صفحه نمایش 0 ، 320 و 640 نقشه به -500 ، 0 و 500 قبل از"
|
||
" تبدیل عدد صحیح. محاسبه مرکز صفحه را در مرکز میدان استریو قرار می دهد."
|
||
|
||
#: website/public/guides/native/index.html:428
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"The agent used REA's findings to write the C. Separate checks compared 3,205"
|
||
" inputs against the original x86 function and reproduced all 63 compiled "
|
||
"bytes of the complete function."
|
||
msgstr ""
|
||
"عامل از یافته های REA برای نوشتن C استفاده کرد. چک های جداگانه 3205 ورودی را"
|
||
" با تابع اصلی x86 مقایسه کردند و تمام 63 بایت کامپایل شده از تابع کامل را "
|
||
"بازتولید کردند."
|
||
|
||
#. {ph0}: <a href="../../showcase/dx-ball/#sound-pan" >
|
||
#. {ph1}: </a >
|
||
#: website/public/guides/native/index.html:433
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "{ph0}See the full investigation and assembly-to-C comparison{ph1}"
|
||
msgstr "{ph0}بررسی کامل و مقایسه مونتاژ به C را ببینید{ph1}"
|
||
|
||
#: website/public/guides/native/index.html:440
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Try it with your own binary"
|
||
msgstr "آن را با باینری خود امتحان کنید"
|
||
|
||
#. {ph0}: <a href="../../get-started/#native" >
|
||
#. {ph1}: </a >
|
||
#: website/public/guides/native/index.html:441
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"{ph0}Connect a native analysis provider{ph1}, then give your agent a local "
|
||
"executable or library and a feature to investigate. Useful starting "
|
||
"questions include “How is this file parsed?” or “Which function handles this"
|
||
" menu action?”"
|
||
msgstr ""
|
||
"{ph0}اتصال تجزیه و تحلیل برنامه های کد ماشین ارائه دهنده{ph1}، سپس به "
|
||
"نماینده خود یک فایل اجرایی یا کتابخانه محلی و یک ویژگی برای تحقیق بدهید. "
|
||
"سوالات مفید شروع شامل \" این فایل چگونه تجزیه می شود ؟ \"یا\" کدام تابع این "
|
||
"عمل منو را مدیریت می کند ؟ ”"
|
||
|
||
#: website/public/guides/native/index.html:448
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"If you already know a function name or address, you can query it from the "
|
||
"terminal. For a configured Ghidra installation:"
|
||
msgstr ""
|
||
"اگر قبلا یک نام یا آدرس تابع را می دانید ، می توانید آن را از ترمینال پرس و "
|
||
"جو کنید. برای نصب Ghidra پیکربندی شده:"
|
||
|
||
#: website/public/guides/native/index.html:454
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Function analysis"
|
||
msgstr "تجزیه و تحلیل عملکرد"
|
||
|
||
#. {ph0}: <code>main</code>
|
||
#: website/public/guides/native/index.html:467
|
||
#, python-brace-format
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"Replace the target path and {ph0} with your own function name or address. "
|
||
"Each CLI invocation imports and analyzes the binary, then closes its "
|
||
"session. Your agent's MCP queries reuse the imported binary while that "
|
||
"session is open."
|
||
msgstr ""
|
||
"مسیر هدف را جایگزین کنید و {ph0} با نام یا آدرس تابع خود. هر فراخوان CLI "
|
||
"باینری را وارد و تجزیه و تحلیل می کند ، سپس جلسه خود را بسته می کند. پرس و "
|
||
"جوهای MCP نماینده شما در حالی که جلسه باز است ، از باینری وارد شده استفاده "
|
||
"می کند."
|
||
|
||
#: website/public/guides/native/index.html:473
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"Read the pseudocode alongside instructions and references. When a result "
|
||
"leaves a call or value unresolved, use that location as the next question."
|
||
msgstr ""
|
||
"کد شبه را در کنار دستورالعمل ها و مرجع ها بخوانید. وقتی نتیجه یک تماس یا "
|
||
"ارزش حل نشده را ترک می کند ، از آن مکان به عنوان سوال بعدی استفاده کنید."
|
||
|
||
#: website/public/guides/native/index.html:6
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Native Binary Analysis — REA"
|
||
msgstr "تجزیه و تحلیل باینری بومی-REA"
|
||
|
||
#: website/public/guides/native/index.html:7
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid ""
|
||
"Recover a native calculation with REA: inspect instructions, follow a "
|
||
"caller, read constants and check reconstructed C."
|
||
msgstr ""
|
||
"بازیابی یک محاسبه بومی با REA: دستورالعمل ها را بررسی کنید ، یک تماس گیرنده "
|
||
"را دنبال کنید ، ثابت ها را بخوانید و C بازسازی شده را بررسی کنید."
|
||
|
||
#: website/public/guides/native/index.html:191
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/guides/native/index.html:201
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Native analysis"
|
||
msgstr "تجزیه و تحلیل برنامه های کد ماشین"
|
||
|
||
#: website/public/guides/native/index.html:324
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Copy example prompt"
|
||
msgstr "کپی مثال prompt"
|
||
|
||
#: website/public/guides/native/index.html:455
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Copy function analysis"
|
||
msgstr "تجزیه و تحلیل تابع کپی"
|
||
|
||
#: website/public/guides/native/index.html:496
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/index.html:101
|
||
msgctxt "page:index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#: website/public/index.html:183 website/public/index.html:193
|
||
#: website/public/index.html:191
|
||
msgctxt "page:index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/index.html:184 website/public/index.html:233
|
||
msgctxt "page:index.html"
|
||
msgid "Set up REA"
|
||
msgstr "راه اندازی REA"
|
||
|
||
#. {ph0}: <a href="#setup" aria-current="location">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:195
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}Set up REA{ph1}"
|
||
msgstr "{ph0}راه اندازی REA {ph1}"
|
||
|
||
#. {ph0}: <a href="#what-is-re">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:196
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}What is RE?{ph1}"
|
||
msgstr "{ph0}RE چیست؟{ph1}"
|
||
|
||
#. {ph0}: <a href="#how-rea-helps">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:197
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}How REA helps{ph1}"
|
||
msgstr "{ph0}REA چگونه کمک میکند{ph1}"
|
||
|
||
#. {ph0}: <a href="#dinosaur">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:198
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}Dinosaur game{ph1}"
|
||
msgstr "{ph0}بازی دایناسور{ph1}"
|
||
|
||
#. {ph0}: <a href="#calculator">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:199
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}Calculator{ph1}"
|
||
msgstr "{ph0}ماشین حساب{ph1}"
|
||
|
||
#. {ph0}: <a href="#try-rea">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:200
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}Try REA{ph1}"
|
||
msgstr "{ph0}REA را امتحان کنید {ph1}"
|
||
|
||
#. {ph0}: <a href="#analyze">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:201
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}Go deeper{ph1}"
|
||
msgstr "{ph0}بیشتر بدانید{ph1}"
|
||
|
||
#. {ph0}: <a href="#questions">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:202
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}Help & feedback{ph1}"
|
||
msgstr "{ph0}کمک و بازخورد{ph1}"
|
||
|
||
#. {ph0}: <a href="#community">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:203
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}Community{ph1}"
|
||
msgstr "{ph0}جامعه{ph1}"
|
||
|
||
#: website/public/index.html:212
|
||
msgctxt "page:index.html"
|
||
msgid "Reverse engineering, with your coding agent"
|
||
msgstr "مهندسی معکوس ، با عامل برنامه نویسی شما"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/index.html:213
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "Find out how{ph0}software works."
|
||
msgstr "بفهمید نرمافزار{ph0}چطور کار میکند."
|
||
|
||
#: website/public/index.html:214
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"REA gives your agent the tools to inspect a program and explain what it "
|
||
"does."
|
||
msgstr ""
|
||
"REA ابزارهایی در اختیار دستیار برنامهنویسی شما میگذارد تا برنامه را بررسی "
|
||
"کند و رفتار آن را توضیح دهد."
|
||
|
||
#. {ph0}: <a href="#analysis-guides">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:223
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "Already know RE? {ph0}Skip to analysis guides →{ph1}"
|
||
msgstr ""
|
||
"در حال حاضر می دانم دوباره? {ph0}به راهنماهای تجزیه و تحلیل بروید →{ph1}"
|
||
|
||
#. {ph0}: <a href="blog/">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:227
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "Want to go deeper? {ph0}Read the Blog →{ph1}"
|
||
msgstr "میخوای عمیق تر بری ؟ {ph0}وبلاگ را بخوانید →{ph1}"
|
||
|
||
#: website/public/index.html:234
|
||
msgctxt "page:index.html"
|
||
msgid "Copy this into your coding agent:"
|
||
msgstr "این درخواست را در دستیار برنامهنویسی خود وارد کنید:"
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/index.html:237
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#: website/public/index.html:242 website/public/index.html:264
|
||
#: website/public/index.html:479 website/public/index.html:647
|
||
#: website/public/index.html:883 website/public/index.html:1045
|
||
#: website/public/index.html:1073
|
||
msgctxt "page:index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#: website/public/index.html:261
|
||
msgctxt "page:index.html"
|
||
msgid "Or run this in your terminal:"
|
||
msgstr "یا این دستور را در ترمینال اجرا کنید:"
|
||
|
||
#: website/public/index.html:273
|
||
msgctxt "page:index.html"
|
||
msgid "Approve the setup plan, then restart your agent."
|
||
msgstr ""
|
||
"برنامهٔ تغییرات را بررسی و تأیید کنید، سپس دستیار را دوباره راهاندازی کنید."
|
||
|
||
#: website/public/index.html:288
|
||
msgctxt "page:index.html"
|
||
msgid "What is reverse engineering?"
|
||
msgstr "مهندسی معکوس چیست؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/index.html:289
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Finding out how software works by {ph0}examining the program itself.{ph1}"
|
||
msgstr "فهمیدن شیوهٔ کار نرمافزار از راه {ph0}بررسی خود برنامه.{ph1}"
|
||
|
||
#. {ph0}: <mark class="prose-highlight">
|
||
#. {ph1}: </mark>
|
||
#. {ph2}: <mark class="prose-highlight">
|
||
#. {ph3}: </mark>
|
||
#. {ph4}: <mark class="prose-highlight">
|
||
#. {ph5}: </mark>
|
||
#: website/public/index.html:294
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"The goal: understand a feature well enough to {ph0}explain it{ph1}, "
|
||
"{ph2}change it{ph3} or {ph4}rebuild it.{ph5}"
|
||
msgstr ""
|
||
"هدف: درک یک ویژگی به اندازه کافی خوب برای {ph0}توضیح دهید{ph1}, {ph2}تغییرش "
|
||
"بده{ph3} یا {ph4}دوباره بسازش{ph5}"
|
||
|
||
#. {ph0}: <strong class="prose-highlight">
|
||
#. {ph1}: </strong>
|
||
#: website/public/index.html:312
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "Before REA · You investigate it {ph0}yourself{ph1}"
|
||
msgstr "پیش از REA · {ph0}خودتان{ph1} بررسی میکنید"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/index.html:321
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}01{ph1} Decode branches"
|
||
msgstr "{ph0}01{ph1} شاخه ها را رمزگشایی کنید"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/index.html:329
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}02{ph1} Trace calls"
|
||
msgstr "{ph0}02{ph1} تماس های ردیابی"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/index.html:337
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}03{ph1} Recover the rule"
|
||
msgstr "{ph0}03{ph1} قانون را بازیابی کنید"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#. {ph2}: <span class="assembly-disclosure" aria-hidden="true">
|
||
#. {ph3}: </span>
|
||
#: website/public/index.html:352
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}Original x64 · selected instructions{ph1} {ph2}{ph3}"
|
||
msgstr "{ph0}اصلی x64 * دستورالعمل های انتخاب شده{ph1} {ph2}{ph3}"
|
||
|
||
#: website/public/index.html:391
|
||
msgctxt "page:index.html"
|
||
msgid "01 · Which branch?"
|
||
msgstr "01 * کدام شعبه؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/index.html:392
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"“{ph0}0x5b? 0x5c?{ph1} Two jumps to the same place. Which operators are "
|
||
"these?”"
|
||
msgstr ""
|
||
"“{ph0}0x5b? 0x5c?{ph1} دو پرش به یک مکان این ها کدام اپراتورها هستند ؟ ”"
|
||
|
||
#: website/public/index.html:396
|
||
msgctxt "page:index.html"
|
||
msgid "Look up the command IDs, then label the branch."
|
||
msgstr "به شناسه های فرمان نگاه کنید ، سپس شاخه را برچسب بزنید."
|
||
|
||
#: website/public/index.html:402
|
||
msgctxt "page:index.html"
|
||
msgid "Divide ÷"
|
||
msgstr "تقسیم"
|
||
|
||
#: website/public/index.html:406
|
||
msgctxt "page:index.html"
|
||
msgid "Multiply ×"
|
||
msgstr "ضرب ×"
|
||
|
||
#: website/public/index.html:411
|
||
msgctxt "page:index.html"
|
||
msgid "02 · What do the calls do?"
|
||
msgstr "02 · تابعهای فراخوانیشده چه میکنند؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong >
|
||
#: website/public/index.html:412
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"“100 is clear. The calls are just addresses. {ph0}Which one divides? Which "
|
||
"value goes in?{ph1}”"
|
||
msgstr ""
|
||
"\"100 روشن است. تماس ها فقط آدرس هستن {ph0}کدام یک تقسیم می شود ؟ کدام "
|
||
"مقدار وارد می شود ؟ {ph1}”"
|
||
|
||
#: website/public/index.html:417
|
||
msgctxt "page:index.html"
|
||
msgid "Inspect the helpers and trace the stored values."
|
||
msgstr "توابع یاور را بررسی کنید و مقادیر ذخیره شده را ردیابی کنید."
|
||
|
||
#: website/public/index.html:427
|
||
msgctxt "page:index.html"
|
||
msgid "Divide"
|
||
msgstr "تقسیم"
|
||
|
||
#: website/public/index.html:432
|
||
msgctxt "page:index.html"
|
||
msgid "03 · What is the rule?"
|
||
msgstr "03 * قانون چیست؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/index.html:433
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"“This path multiplies by the other input. So {ph0}10% means 10% of 200{ph1} "
|
||
"after +.”"
|
||
msgstr ""
|
||
"\"این مسیر با ورودی دیگر ضرب می شود. پس {ph0}10 درصد به معنی 10 درصد از "
|
||
"200{ph1} بعد از +.”"
|
||
|
||
#: website/public/index.html:437
|
||
msgctxt "page:index.html"
|
||
msgid "Name the operands and check both operator paths."
|
||
msgstr "نام operands و بررسی هر دو مسیر اپراتور."
|
||
|
||
#: website/public/index.html:453 website/public/index.html:381
|
||
msgctxt "page:index.html"
|
||
msgid "Illustrative expert reasoning"
|
||
msgstr "استدلال متخصص تصویرسازی"
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/index.html:456
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}You decode the instructions, follow the calls and reconstruct the "
|
||
"calculation.{ph1}"
|
||
msgstr ""
|
||
"{ph0}شما دستورالعمل ها را رمزگشایی می کنید ، فراخوان های تابع را دنبال می "
|
||
"کنید و محاسبه را بازسازی می کنید.{ph1}"
|
||
|
||
#. {ph0}: <strong class="prose-highlight">
|
||
#. {ph1}: </strong>
|
||
#: website/public/index.html:464
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "With REA · You ask {ph0}your agent{ph1}"
|
||
msgstr "با REA · از {ph0}دستیارتان{ph1} میپرسید"
|
||
|
||
#: website/public/index.html:468
|
||
msgctxt "page:index.html"
|
||
msgid "One prompt."
|
||
msgstr "فقط یک درخواست."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/index.html:469
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "Ask your agent {ph0}in plain English.{ph1}"
|
||
msgstr "از دستیار {ph0}با زبان ساده{ph1} سؤال کنید."
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/index.html:474
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Example prompt · Calculator"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}مثال سریع * ماشین حساب"
|
||
|
||
#: website/public/index.html:496
|
||
msgctxt "page:index.html"
|
||
msgid "Example answer · based on the findings"
|
||
msgstr "مثال پاسخ · بر اساس یافته ها"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/index.html:499
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"After +, the % button takes {ph0}a percentage of the first number.{ph1}"
|
||
msgstr "بعد از + ، دکمه % طول می کشد {ph0}درصد از عدد اول{ph1}"
|
||
|
||
#: website/public/index.html:511
|
||
msgctxt "page:index.html"
|
||
msgid "REA supplies"
|
||
msgstr "REA چه چیزی فراهم میکند"
|
||
|
||
#: website/public/index.html:512
|
||
msgctxt "page:index.html"
|
||
msgid "The handler’s instructions, decompiled code and calls."
|
||
msgstr "دستورالعمل های کنترل کننده ، کد و تماس های کامپایل شده."
|
||
|
||
#: website/public/index.html:517
|
||
msgctxt "page:index.html"
|
||
msgid "Your agent explains"
|
||
msgstr "دستیار چه چیزی توضیح میدهد"
|
||
|
||
#: website/public/index.html:518
|
||
msgctxt "page:index.html"
|
||
msgid "Which branch applies, what it calculates and how to rebuild it."
|
||
msgstr ""
|
||
"کدام شاخه اعمال می شود ، چه چیزی محاسبه می شود و چگونه آن را بازسازی کنیم."
|
||
|
||
#. {ph0}: <a href="#calculator">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:525
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Selected assembly from the installed Calculator DLL. The thoughts and reply "
|
||
"illustrate the findings. {ph0}Continue with the Calculator example ↓{ph1}"
|
||
msgstr ""
|
||
"مونتاژ انتخاب شده از ماشین حساب نصب شده DLL. افکار و پاسخ ها یافته ها را "
|
||
"نشان می دهد. {ph0}با مثال ماشین حساب ادامه دهید ↓{ph1}"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/index.html:536
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}Let's try two examples.{ph1} Change a game's speed, then return to "
|
||
"Calculator and rebuild its % button."
|
||
msgstr ""
|
||
"{ph0}بیایید دو مثال را امتحان کنیم.{ph1} سرعت بازی را تغییر دهید ، سپس به "
|
||
"ماشین حساب برگردید و دکمه % آن را بازسازی کنید."
|
||
|
||
#: website/public/index.html:542
|
||
msgctxt "page:index.html"
|
||
msgid "Example 01 · Chrome’s dinosaur game"
|
||
msgstr "مثال 01 * بازی دایناسور Chrome"
|
||
|
||
#: website/public/index.html:543
|
||
msgctxt "page:index.html"
|
||
msgid "Why does the dinosaur get faster?"
|
||
msgstr "چرا دایناسور سریعتر میشود؟"
|
||
|
||
#: website/public/index.html:547 website/public/index.html:785
|
||
msgctxt "page:index.html"
|
||
msgid "Goal"
|
||
msgstr "هدف"
|
||
|
||
#. {ph0}: <mark class="prose-highlight">
|
||
#. {ph1}: </mark>
|
||
#: website/public/index.html:548
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "Rebuild the game with {ph0}adjustable speed.{ph1}"
|
||
msgstr "بازی را با {ph0}سرعت قابل تنظیم{ph1}"
|
||
|
||
#: website/public/index.html:554 website/public/index.html:792
|
||
msgctxt "page:index.html"
|
||
msgid "Why reverse engineer it?"
|
||
msgstr "چرا مهندسی معکوس it ؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/index.html:555
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"To reproduce its acceleration, we need {ph0}the rule in the running "
|
||
"game{ph1}: how fast it starts, how much it increases and when it stops."
|
||
msgstr ""
|
||
"برای بازتولید شتاب آن ، ما نیاز داریم {ph0}قانون در بازی در حال اجرا{ph1}: "
|
||
"چقدر سریع شروع می شود ، چقدر افزایش می یابد و چه زمانی متوقف می شود."
|
||
|
||
#: website/public/index.html:564
|
||
msgctxt "page:index.html"
|
||
msgid "Play the reconstruction"
|
||
msgstr "نسخهٔ بازسازیشده را بازی کنید"
|
||
|
||
#: website/public/index.html:596
|
||
msgctxt "page:index.html"
|
||
msgid "Play"
|
||
msgstr "بازی"
|
||
|
||
#: website/public/index.html:599
|
||
msgctxt "page:index.html"
|
||
msgid "Jump ↑"
|
||
msgstr "پرش ↑"
|
||
|
||
#: website/public/index.html:600
|
||
msgctxt "page:index.html"
|
||
msgid "Restart"
|
||
msgstr "شروع دوباره"
|
||
|
||
#: website/public/index.html:603
|
||
msgctxt "page:index.html"
|
||
msgid "Speed"
|
||
msgstr "سرعت"
|
||
|
||
#: website/public/index.html:613
|
||
msgctxt "page:index.html"
|
||
msgid "Use the recovered acceleration rule"
|
||
msgstr "از قانون شتاب بازیابی شده استفاده کنید"
|
||
|
||
#: website/public/index.html:617
|
||
msgctxt "page:index.html"
|
||
msgid "Original rule: start at 6, then increase toward 13."
|
||
msgstr "قانون اصلی: از 6 شروع کنید ، سپس به سمت 13 افزایش دهید."
|
||
|
||
#: website/public/index.html:620
|
||
msgctxt "page:index.html"
|
||
msgid "Move the slider to set your own speed. Space or Jump clears a cactus."
|
||
msgstr ""
|
||
"نوار لغزنده را حرکت دهید تا سرعت خود را تنظیم کنید. فضا یا پرش یک کاکتوس را "
|
||
"پاک می کند."
|
||
|
||
#: website/public/index.html:625
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Enable JavaScript to play the reconstruction. The code and explanation above"
|
||
" remain readable."
|
||
msgstr ""
|
||
"JavaScript را قادر به بازی بازسازی کنید. کد و توضیح بالا قابل خواندن است."
|
||
|
||
#: website/public/index.html:633 website/public/index.html:863
|
||
msgctxt "page:index.html"
|
||
msgid "REA returned"
|
||
msgstr "REA چه نتیجهای برگرداند"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/index.html:634
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}The script actually running in the page.{ph1} The agent reads its "
|
||
"update function and speed settings, then uses that rule in a new game."
|
||
msgstr ""
|
||
"{ph0}اسکریپت در واقع در صفحه اجرا می شود.{ph1} عامل عملکرد به روز رسانی و "
|
||
"تنظیمات سرعت خود را می خواند ، سپس از این قانون در یک بازی جدید استفاده می "
|
||
"کند."
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/index.html:642
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Example prompt · Dinosaur game"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}مثال سریع * بازی دایناسور"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="dino-analysis-prompt" >
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph5}: </span>
|
||
#: website/public/index.html:656
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to inspect this dinosaur game. Why does it get "
|
||
"faster? Show the speed rule, then build a small version with an adjustable "
|
||
"speed.{ph3}{ph4}{ph5}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}برای بازرسی این بازی دایناسور از REA استفاده کنید. چرا سریع "
|
||
"تر می شود ؟ قانون سرعت را نشان دهید ، سپس یک نسخه کوچک با سرعت قابل تنظیم "
|
||
"بسازید.{ph3}{ph4}{ph5}"
|
||
|
||
#. {ph0}: <a href="https://wayou.github.io/t-rex-runner/" >
|
||
#. {ph1}: </a >
|
||
#: website/public/index.html:665
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "Inspected target: {ph0}wayou’s Chromium-derived browser edition{ph1}."
|
||
msgstr "هدف بازرسی شده: {ph0}نسخه مرورگر مشتق شده از Chromium wayou{ph1}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <strong>
|
||
#. {ph3}: </strong>
|
||
#. {ph4}: <strong>
|
||
#. {ph5}: </strong>
|
||
#: website/public/index.html:682
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}Start at 6.{ph1} Add {ph2}0.001{ph3} each update without a collision, "
|
||
"while speed is below {ph4}13{ph5}."
|
||
msgstr ""
|
||
"{ph0}از 6 شروع کن{ph1} اضافه کردن {ph2}0.001{ph3} هر به روز رسانی بدون "
|
||
"برخورد ، در حالی که سرعت زیر است {ph4}13{ph5}."
|
||
|
||
#: website/public/index.html:687
|
||
msgctxt "page:index.html"
|
||
msgid "Open the speed lab →"
|
||
msgstr "آزمایشگاه سرعت را باز کنید →"
|
||
|
||
#: website/public/index.html:693
|
||
msgctxt "page:index.html"
|
||
msgid "What each part does"
|
||
msgstr "کاری که هر قسمت انجام میده"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/index.html:695
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}01 · REA{ph1}{ph2}Read the running game’s script{ph3}{ph4}Return its "
|
||
"actual code and settings to the agent.{ph5}"
|
||
msgstr ""
|
||
"{ph0}01 * REA {ph1}{ph2}اسکریپت بازی در حال اجرا را بخوانید{ph3}{ph4}کد و "
|
||
"تنظیمات واقعی خود را به عامل برگردانید.{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/index.html:702
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}02 · Your agent{ph1}{ph2}Rebuild the rule, add a control{ph3}{ph4}Use "
|
||
"the recovered acceleration in a small game with a speed slider.{ph5}"
|
||
msgstr ""
|
||
"{ph0}02 * نماینده شما{ph1}{ph2}قانون رو دوباره بساز ، کنترل رو اضافه "
|
||
"کن{ph3}{ph4}از شتاب بازیابی شده در یک بازی کوچک با کشویی سرعت استفاده "
|
||
"کنید.{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/index.html:710
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}03 · You{ph1}{ph2}Change the speed and play{ph3}{ph4}Try the original "
|
||
"acceleration, then choose your own pace.{ph5}"
|
||
msgstr ""
|
||
"{ph0}03 * شما{ph1}{ph2}تغییر سرعت و بازی{ph3}{ph4}شتاب اصلی را امتحان کنید ،"
|
||
" سپس سرعت خود را انتخاب کنید.{ph5}"
|
||
|
||
#: website/public/index.html:721
|
||
msgctxt "page:index.html"
|
||
msgid "See the script, checks and how to try the analysis"
|
||
msgstr "اسکریپت ، چک ها و نحوه امتحان کردن تحلیل را ببینید"
|
||
|
||
#. {ph0}: <code>index.js</code>
|
||
#: website/public/index.html:724
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"REA inspected the HTTP browser edition through a local debugging connection "
|
||
"and returned the loaded {ph0}, including its source and digest."
|
||
msgstr ""
|
||
"REA نسخه مرورگر HTTP را از طریق یک اتصال اشکال زدایی محلی بازرسی کرد و نسخه "
|
||
"بارگذاری شده را بازگرداند {ph0}، از جمله منبع و هضم آن."
|
||
|
||
#: website/public/index.html:737
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"We called the original game’s update function in a controlled browser check,"
|
||
" with obstacles and automatic scheduling disabled. After 4,000 updates, "
|
||
"speed was 10.0; after 10,000, it was 13.0, rounded to one decimal."
|
||
msgstr ""
|
||
"ما عملکرد به روز رسانی بازی اصلی را در یک بررسی مرورگر کنترل شده ، با موانع "
|
||
"و برنامه ریزی خودکار غیرفعال نامیدیم. پس از 4000 به روز رسانی ، سرعت 10.0 "
|
||
"بود ؛ پس از 10000 ، 13.0 بود ، به یک اعشاری گرد شده بود."
|
||
|
||
#. {ph0}: <a href="examples/dino-lab/">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:743
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"The new mini-game keeps that speed rule. Its drawing, jumping and collision "
|
||
"code are a small teaching implementation. {ph0}Open the lab{ph1} to see the "
|
||
"new code and run the same speed check."
|
||
msgstr ""
|
||
"مینی بازی جدید این قانون سرعت را حفظ می کند. کد نقاشی ، پریدن و برخورد آن یک"
|
||
" پیاده سازی آموزشی کوچک است. {ph0}آزمایشگاه را باز کنید{ph1} برای دیدن کد "
|
||
"جدید و اجرای همان بررسی سرعت."
|
||
|
||
#. {ph0}: <a href="guides/browser/#prepare">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="https://wayou.github.io/t-rex-runner/" >
|
||
#. {ph3}: </a >
|
||
#: website/public/index.html:749
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"To inspect the target yourself, follow the {ph0}browser connection "
|
||
"steps{ph1} using {ph2}the dinosaur page{ph3}. Give your agent that page URL "
|
||
"and your local debugging endpoint, then copy the prompt above."
|
||
msgstr ""
|
||
"برای بازرسی هدف خود ، {ph0}مراحل اتصال مرورگر{ph1} استفاده از {ph2}صفحه "
|
||
"دایناسور{ph3}. به نماینده خود URL صفحه و نقطه پایان اشکال زدایی محلی خود را "
|
||
"بدهید ، سپس دستور بالا را کپی کنید."
|
||
|
||
#. {ph0}: <a href="https://github.com/wayou/t-rex-
|
||
#. runner/blob/5455bfa408ec6b707c7300ff194b7390733a766d/index.js#L565-L571" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="assets/licenses/dinosaur.txt" >
|
||
#. {ph3}: </a >
|
||
#: website/public/index.html:758
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}Inspected speed code{ph1} · {ph2}Chromium Authors · BSD license{ph3}"
|
||
msgstr ""
|
||
"{ph0}کد سرعت بازرسی شده{ph1} · {ph2} Chromium نویسندگان * مجوز bsd{ph3}"
|
||
|
||
#: website/public/index.html:775
|
||
msgctxt "page:index.html"
|
||
msgid "Example 02 · Windows Calculator"
|
||
msgstr "مثال 02 * ماشین حساب Windows"
|
||
|
||
#: website/public/index.html:776
|
||
msgctxt "page:index.html"
|
||
msgid "Rebuild Calculator’s % button."
|
||
msgstr "دکمهٔ % ماشینحساب را بازسازی کنید."
|
||
|
||
#. {ph0}: <mark class="prose-highlight">
|
||
#. {ph1}: </mark>
|
||
#: website/public/index.html:786
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Build a small calculator that handles {ph0}both + and × correctly.{ph1}"
|
||
msgstr "یک ماشین حساب کوچک بسازید که {ph0}هر دو + و × به درستی.{ph1}"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/index.html:793
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"The same button uses {ph0}different rules after + and ×.{ph1} We inspect the"
|
||
" installed app to find which number the percentage is applied to."
|
||
msgstr ""
|
||
"همان دکمه استفاده می کند {ph0}قوانین مختلف بعد از + و ×.{ph1} ما برنامه نصب "
|
||
"شده را بررسی می کنیم تا دریابیم درصد به کدام شماره اعمال می شود."
|
||
|
||
#: website/public/index.html:802
|
||
msgctxt "page:index.html"
|
||
msgid "Try the calculation"
|
||
msgstr "محاسبه را امتحان کنید"
|
||
|
||
#: website/public/index.html:846
|
||
msgctxt "page:index.html"
|
||
msgid "Reset"
|
||
msgstr "بازنشانی"
|
||
|
||
#: website/public/index.html:854
|
||
msgctxt "page:index.html"
|
||
msgid "10% of 200 = 20. Then 200 + 20 = 220."
|
||
msgstr "10 درصد از 200 = 20 سپس 200 + 20 = 220."
|
||
|
||
#: website/public/index.html:857
|
||
msgctxt "page:index.html"
|
||
msgid "Interactive illustration of the inspected percentage rule."
|
||
msgstr "تصویر تعاملی از قانون درصد بازرسی شده."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/index.html:864
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}One branch divides by 100. The other also multiplies by the first "
|
||
"number.{ph1} The agent uses both to recreate the % button."
|
||
msgstr ""
|
||
"{ph0}یک شاخه به 100 تقسیم می شود. دیگری نیز در عدد اول ضرب می شود.{ph1} عامل"
|
||
" از هر دو برای بازسازی دکمه % استفاده می کند."
|
||
|
||
#. {ph0}: <code>previous = 200</code>
|
||
#. {ph1}: <code>current = 10</code>
|
||
#: website/public/index.html:872
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "For this example, {ph0} and {ph1}."
|
||
msgstr "برای این مثال, {ph0} و {ph1}."
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/index.html:878
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Example prompt · Rebuild the % "
|
||
"button"
|
||
msgstr ""
|
||
"{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}مثال prompt * دکمه % را بازسازی کنید"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="calculator-analysis-prompt" >
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph5}: </span>
|
||
#: website/public/index.html:892
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to inspect Windows Calculator’s % button. Recover "
|
||
"the rules after + and ×, then build a small calculator that uses "
|
||
"both.{ph3}{ph4}{ph5}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}از REA برای بازرسی دکمه % ماشین حساب Windows استفاده کنید. "
|
||
"قوانین را پس از + و × بازیابی کنید ، سپس یک ماشین حساب کوچک بسازید که از هر "
|
||
"دو استفاده کند.{ph3}{ph4}{ph5}"
|
||
|
||
#: website/public/index.html:913
|
||
msgctxt "page:index.html"
|
||
msgid "With +"
|
||
msgstr "با +"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong >
|
||
#. {ph2}: <code>10% of 200 = 20 → 200 + 20 = 220</code>
|
||
#: website/public/index.html:914
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}Take 10% of the first number.{ph1}{ph2}"
|
||
msgstr "{ph0}10 درصد از عدد اول را بگیرید.{ph1}{ph2}"
|
||
|
||
#: website/public/index.html:920
|
||
msgctxt "page:index.html"
|
||
msgid "With ×"
|
||
msgstr "با ×"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong >
|
||
#. {ph2}: <code>200 × 0.1 = 20</code>
|
||
#: website/public/index.html:921
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}Turn 10% into 0.1.{ph1}{ph2}"
|
||
msgstr "{ph0}10% را به 0.1 تبدیل کنید.{ph1}{ph2}"
|
||
|
||
#: website/public/index.html:930
|
||
msgctxt "page:index.html"
|
||
msgid "From the installed app to a working % button"
|
||
msgstr "از برنامه نصب شده به یک دکمه کار %"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: <code>100</code>
|
||
#. {ph6}: </span >
|
||
#: website/public/index.html:943
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}02 · REA reads the library{ph1}{ph2}Return the % handler’s "
|
||
"code{ph3}{ph4}The function checks the operator and uses the constant "
|
||
"{ph5}.{ph6}"
|
||
msgstr ""
|
||
"{ph0}02 * REA کتابخانه را می خواند{ph1}{ph2}کد % handler را "
|
||
"برگردانید{ph3}{ph4}عملکرد اپراتور را بررسی می کند و از ثابت استفاده می کند "
|
||
"{ph5}.{ph6}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/index.html:951
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}03 · Your agent interprets it{ph1}{ph2}Explain and reproduce the "
|
||
"rules{ph3}{ph4}Crosscheck the branch with Microsoft’s source, then try + and"
|
||
" × above.{ph5}"
|
||
msgstr ""
|
||
"{ph0}03 · نماینده شما آن را تفسیر می کند{ph1}{ph2}قوانین را توضیح دهید و "
|
||
"بازتولید کنید{ph3}{ph4}شاخه را با منبع مایکروسافت بررسی کنید ، سپس + و × "
|
||
"بالا را امتحان کنید.{ph5}"
|
||
|
||
#: website/public/index.html:962
|
||
msgctxt "page:index.html"
|
||
msgid "See the real code and how the answer was checked"
|
||
msgstr "کد واقعی و نحوه بررسی پاسخ را ببینید"
|
||
|
||
#: website/public/index.html:988
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Inspected with REA 4.1.0: Windows Calculator 11.2508.4.0, x64. The readable "
|
||
"summary uses names from Microsoft’s public source to explain the recovered "
|
||
"branch."
|
||
msgstr ""
|
||
"بازرسی با REA 4.1.0: Windows ماشین حساب 11.2508.4.0, x64. خلاصه قابل خواندن "
|
||
"از نام های منبع عمومی مایکروسافت برای توضیح شاخه بازیابی شده استفاده می کند."
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/microsoft/calculator/blob/d125246a4e19842ce1332e6c7839cf0e110027d8/src/CalcManager/CEngine/scifunc.cpp#L98-L111"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a
|
||
#. href="https://github.com/microsoft/calculator/blob/d125246a4e19842ce1332e6c7839cf0e110027d8/src/CalculatorUnitTests/CalculatorManagerTest.cpp#L350-L370"
|
||
#. >
|
||
#. {ph3}: </a >
|
||
#. {ph4}: <a href="guides/native/">
|
||
#. {ph5}: </a>
|
||
#: website/public/index.html:993
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}Percentage implementation{ph1} · {ph2}Microsoft’s test cases{ph3} · "
|
||
"{ph4}Native setup guide{ph5}"
|
||
msgstr ""
|
||
"{ph0}درصد پیاده سازی{ph1} · {ph2}موارد تست مایکروسافت{ph3} · {ph4}راهنمای "
|
||
"راه اندازی بومی{ph5}"
|
||
|
||
#: website/public/index.html:1012
|
||
msgctxt "page:index.html"
|
||
msgid "Your first investigation"
|
||
msgstr "اولین تحقیق شما"
|
||
|
||
#: website/public/index.html:1013
|
||
msgctxt "page:index.html"
|
||
msgid "Try REA on a small app."
|
||
msgstr "REA را در یک برنامه کوچک امتحان کنید."
|
||
|
||
#: website/public/index.html:1014
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Download our Notes example, trace its CSV export, and check one changed "
|
||
"input."
|
||
msgstr ""
|
||
"نمونه یادداشت های ما را دانلود کنید ، صادرات CSV آن را ردیابی کنید و یک "
|
||
"ورودی تغییر یافته را بررسی کنید."
|
||
|
||
#: website/public/index.html:1019
|
||
msgctxt "page:index.html"
|
||
msgid "Try the guided example"
|
||
msgstr "مثال هدایت شده را امتحان کنید"
|
||
|
||
#: website/public/index.html:1028
|
||
msgctxt "page:index.html"
|
||
msgid "Want to go deeper?"
|
||
msgstr "میخواهید بیشتر بدانید؟"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <strong>
|
||
#. {ph3}: </strong>
|
||
#: website/public/index.html:1029
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Tell your agent what you want to understand or build. With REA, you can work"
|
||
" together on anything from {ph0}cloning this website{ph1} to "
|
||
"{ph2}reconstructing a game from its executable.{ph3}"
|
||
msgstr ""
|
||
"به نماینده خود بگویید که چه چیزی می خواهید درک کنید یا بسازید. با REA ، شما "
|
||
"می توانید با هم کار بر روی هر چیزی از {ph0}شبیه سازی این وب سایت{ph1} به "
|
||
"{ph2}بازسازی یک بازی از فایل اجرایی آن.{ph3}"
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/index.html:1040
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Example prompt · Website"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}مثال prompt * وب سایت"
|
||
|
||
#: website/public/index.html:1063
|
||
msgctxt "page:index.html"
|
||
msgid "Yes, this one."
|
||
msgstr "بله این یکی"
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/index.html:1068
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Example prompt · Game reconstruction"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}مثال سریع * بازسازی بازی"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="game-project-prompt" >
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph5}: </span>
|
||
#: website/public/index.html:1082
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to reconstruct this game from its executable. "
|
||
"Recover the gameplay logic in C and test it against the "
|
||
"original.{ph3}{ph4}{ph5}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}از REA برای بازسازی این بازی از فایل اجرایی آن استفاده کنید."
|
||
" بازیابی منطق گیم پلی در C و تست آن در برابر اصلی.{ph3}{ph4}{ph5}"
|
||
|
||
#. {ph0}: <a href="showcase/dx-ball/">
|
||
#. {ph1}: </a>
|
||
#: website/public/index.html:1091
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "{ph0}See the DX-Ball case study →{ph1}"
|
||
msgstr "{ph0}مطالعه موردی DX-Ball را ببینید →{ph1}"
|
||
|
||
#: website/public/index.html:1096
|
||
msgctxt "page:index.html"
|
||
msgid "For setup and analysis steps, choose your target:"
|
||
msgstr "برای مراحل راه اندازی و تجزیه و تحلیل ، هدف خود را انتخاب کنید:"
|
||
|
||
#: website/public/index.html:1101
|
||
msgctxt "page:index.html"
|
||
msgid "Native binaries"
|
||
msgstr "برنامه های کد ماشین"
|
||
|
||
#: website/public/index.html:1102
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Inspect functions, strings, references and call relationships in executables"
|
||
" and libraries."
|
||
msgstr ""
|
||
"توابع ، رشته ها ، مرجع ها و روابط فراخوان تابع را در فایل های اجرایی و "
|
||
"کتابخانه ها بازرسی کنید."
|
||
|
||
#: website/public/index.html:1106
|
||
msgctxt "page:index.html"
|
||
msgid "Native analysis guide"
|
||
msgstr "تجزیه و تحلیل برنامه های کد ماشین راهنما"
|
||
|
||
#: website/public/index.html:1109
|
||
msgctxt "page:index.html"
|
||
msgid "JavaScript & Electron"
|
||
msgstr "JavaScript و Electron"
|
||
|
||
#: website/public/index.html:1110
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Map modules, routes, IPC and native dependencies from an application folder "
|
||
"or ASAR archive."
|
||
msgstr ""
|
||
"ماژول های نقشه ، مسیرها ، IPC و وابستگی های بومی از یک پوشه برنامه یا آرشیو "
|
||
"ASAR."
|
||
|
||
#: website/public/index.html:1114
|
||
msgctxt "page:index.html"
|
||
msgid "Application workflows"
|
||
msgstr "گردش کار برنامه"
|
||
|
||
#: website/public/index.html:1117
|
||
msgctxt "page:index.html"
|
||
msgid "Browser & runtime activity"
|
||
msgstr "مرورگر و فعالیت زمان اجرا"
|
||
|
||
#: website/public/index.html:1118
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Capture selected browser or process activity, then compare the results "
|
||
"across runs."
|
||
msgstr ""
|
||
"ضبط مرورگر انتخاب شده یا فعالیت فرآیند ، سپس مقایسه نتایج در سراسر اجرا می "
|
||
"شود."
|
||
|
||
#: website/public/index.html:1122
|
||
msgctxt "page:index.html"
|
||
msgid "Browser observation guide"
|
||
msgstr "راهنمای مشاهده مرورگر"
|
||
|
||
#: website/public/index.html:1129
|
||
msgctxt "page:index.html"
|
||
msgid "Any questions?"
|
||
msgstr "سؤالی دارید؟"
|
||
|
||
#. {ph0}: <a href="faq/">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="https://discord.gg/GkcryMnJDM">
|
||
#. {ph3}: </a>
|
||
#. {ph4}: <a href="https://github.com/morluto/rea/issues/new/choose" >
|
||
#. {ph5}: </a >
|
||
#: website/public/index.html:1130
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}Read the FAQ{ph1}, {ph2}chat with us on Discord{ph3}, or {ph4}open a "
|
||
"GitHub issue{ph5} for bugs and feature requests."
|
||
msgstr ""
|
||
"{ph0}سوالات متداول را بخوانید{ph1}, {ph2}چت با ما در Discord {ph3} یا "
|
||
"{ph4}یک شماره GitHub را باز کنید{ph5} برای اشکالات و درخواست ویژگی."
|
||
|
||
#: website/public/index.html:1143 website/public/index.html:1149
|
||
msgctxt "page:index.html"
|
||
msgid "Join the community"
|
||
msgstr "به جامعه بپیوندید"
|
||
|
||
#: website/public/index.html:1144
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Share investigations and get help from other REA users on Discord. Follow "
|
||
"REA on X for project updates."
|
||
msgstr ""
|
||
"تحقیقات را به اشتراک بگذارید و از سایر کاربران REA در Discord کمک بگیرید . "
|
||
"برای به روز رسانی پروژه ، REA را در X دنبال کنید."
|
||
|
||
#: website/public/index.html:6
|
||
msgctxt "page:index.html"
|
||
msgid "REA — Reverse Engineering for Your Coding Agent"
|
||
msgstr "REA-مهندسی معکوس برای عامل برنامه نویسی شما"
|
||
|
||
#: website/public/index.html:7
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Reverse engineer apps, binaries and browser behavior with your coding agent."
|
||
" Follow clear guides and try interactive examples with REA."
|
||
msgstr ""
|
||
"برنامه های مهندسی معکوس ، باینری ها و رفتار مرورگر با عامل برنامه نویسی شما."
|
||
" راهنماهای واضح را دنبال کنید و نمونه های تعاملی را با REA امتحان کنید ."
|
||
|
||
#: website/public/index.html:242
|
||
msgctxt "page:index.html"
|
||
msgid "Copy REA installation prompt"
|
||
msgstr "کپی REA نصب و راه اندازی prompt"
|
||
|
||
#: website/public/index.html:264
|
||
msgctxt "page:index.html"
|
||
msgid "Copy setup command"
|
||
msgstr "دستور Copy setup"
|
||
|
||
#: website/public/index.html:316
|
||
msgctxt "page:index.html"
|
||
msgid "Follow the manual Calculator analysis"
|
||
msgstr "تجزیه و تحلیل ماشین حساب دستی را دنبال کنید"
|
||
|
||
#: website/public/index.html:479
|
||
msgctxt "page:index.html"
|
||
msgid "Copy Calculator percentage question"
|
||
msgstr "کپی ماشین حساب درصد سوال"
|
||
|
||
#: website/public/index.html:586
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Dinosaur mini-game. Use the Jump button or press Space while the game is "
|
||
"focused."
|
||
msgstr ""
|
||
"دایناسور مینی بازی. در حالی که بازی متمرکز است از دکمه پرش یا فضای فشار "
|
||
"استفاده کنید."
|
||
|
||
#: website/public/index.html:647
|
||
msgctxt "page:index.html"
|
||
msgid "Copy dinosaur analysis prompt"
|
||
msgstr "کپی دایناسور تجزیه و تحلیل فوری"
|
||
|
||
#: website/public/index.html:803
|
||
msgctxt "page:index.html"
|
||
msgid "Choose the calculation"
|
||
msgstr "محاسبه را انتخاب کنید"
|
||
|
||
#: website/public/index.html:883
|
||
msgctxt "page:index.html"
|
||
msgid "Copy Calculator analysis prompt"
|
||
msgstr "کپی ماشین حساب تجزیه و تحلیل سریع"
|
||
|
||
#: website/public/index.html:1045
|
||
msgctxt "page:index.html"
|
||
msgid "Copy website project prompt"
|
||
msgstr "کپی وب سایت project prompt"
|
||
|
||
#: website/public/index.html:1073
|
||
msgctxt "page:index.html"
|
||
msgid "Copy game reconstruction prompt"
|
||
msgstr "کپی بازی بازسازی سریع"
|
||
|
||
#: website/public/index.html:1173
|
||
msgctxt "page:index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/showcase/aegis/index.html:100
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../../">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="../">
|
||
#. {ph3}: </a>
|
||
#: website/public/showcase/aegis/index.html:182
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / Android"
|
||
msgstr "{ph0}خانه{ph1} / {ph2}ویترین ها{ph3} / اندروید"
|
||
|
||
#: website/public/showcase/aegis/index.html:185
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Case study · Aegis Authenticator"
|
||
msgstr "مطالعه موردی * Aegis Authenticator"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/showcase/aegis/index.html:186
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "How does an authenticator{ph0}generate a login code?"
|
||
msgstr "چگونه یک authenticator{ph0}یک کد ورود ایجاد کنید?"
|
||
|
||
#: website/public/showcase/aegis/index.html:187
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"A six-digit code changes every 30 seconds. Use REA to find the calculation "
|
||
"in an Android APK, then rebuild it with a clock you can control."
|
||
msgstr ""
|
||
"یک کد شش رقمی هر 30 ثانیه تغییر می کند. از REA برای یافتن محاسبه در یک APK "
|
||
"Android استفاده کنید ، سپس آن را با ساعتی که می توانید کنترل کنید بازسازی "
|
||
"کنید."
|
||
|
||
#: website/public/showcase/aegis/index.html:192
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Aegis 3.4.3 · Android · Official release APK · 6.9 MB"
|
||
msgstr "Aegis 3.4.3 * اندروید * انتشار رسمی APK * 6.9 MB"
|
||
|
||
#: website/public/showcase/aegis/index.html:195
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "View Aegis on GitHub"
|
||
msgstr "مشاهده Aegis در GitHub"
|
||
|
||
#: website/public/showcase/aegis/index.html:201
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "From an APK to a code you can reproduce"
|
||
msgstr "از یک APK به یک کد شما می توانید تولید مثل"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <strong class="flow-node" >
|
||
#. {ph3}: </strong >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/showcase/aegis/index.html:203
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"{ph0}01 · Locate the feature{ph1}{ph2}3,077 classes → generating "
|
||
"methods{ph3}{ph4}REA searches the package and traces the code used by the "
|
||
"display and copy actions.{ph5}"
|
||
msgstr ""
|
||
"{ph0}01 * ویژگی را پیدا کنید{ph1}{ph2}3,077 کلاس → روش های تولید{ph3}{ph4} "
|
||
"REA بسته را جستجو می کند و کد مورد استفاده نمایش و کپی را ردیابی می "
|
||
"کند.{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <strong class="flow-node">
|
||
#. {ph3}: </strong >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/showcase/aegis/index.html:212
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"{ph0}02 · Read the calculation{ph1}{ph2}Time + account key → six "
|
||
"digits{ph3}{ph4}REA returns the methods and defaults. The agent explains how"
|
||
" they fit together.{ph5}"
|
||
msgstr ""
|
||
"{ph0}02 * محاسبه را بخوانید{ph1}{ph2}کلید زمان + حساب → شش رقمی{ph3}{ph4} "
|
||
"REA روش ها و پیش فرض ها را باز می گرداند. مامور توضیح میده که چطور با هم جور"
|
||
" میشن{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <strong class="flow-node">
|
||
#. {ph3}: </strong >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/showcase/aegis/index.html:220
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"{ph0}03 · Rebuild and check{ph1}{ph2}Change the clock. Watch the "
|
||
"code.{ph3}{ph4}A new browser demo reproduces the rule and checks it against "
|
||
"public reference cases.{ph5}"
|
||
msgstr ""
|
||
"{ph0}03 * بازسازی و بررسی{ph1}{ph2}تغییر ساعت کد را تماشا کنید{ph3}{ph4}یک "
|
||
"نسخه ی نمایشی مرورگر جدید این قانون را بازتولید می کند و آن را با موارد مرجع"
|
||
" عمومی بررسی می کند.{ph5}"
|
||
|
||
#: website/public/showcase/aegis/index.html:233
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "In this case study"
|
||
msgstr "در این مطالعه موردی"
|
||
|
||
#. {ph0}: <a href="#ask">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/aegis/index.html:235
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}Ask your agent{ph1}"
|
||
msgstr "{ph0}از نماینده خود بپرسید{ph1}"
|
||
|
||
#. {ph0}: <a href="#demo">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/aegis/index.html:236
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}Try the code generator{ph1}"
|
||
msgstr "{ph0}ژنراتور کد را امتحان کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#find">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/aegis/index.html:237
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}Find the code with REA{ph1}"
|
||
msgstr "{ph0}پیدا کردن کد با REA {ph1}"
|
||
|
||
#. {ph0}: <a href="#calculation">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/aegis/index.html:238
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}Read the calculation{ph1}"
|
||
msgstr "{ph0}محاسبه را بخوانید{ph1}"
|
||
|
||
#. {ph0}: <a href="#verify">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/aegis/index.html:239
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}Check the reconstruction{ph1}"
|
||
msgstr "{ph0}بازسازی را بررسی کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#try">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/aegis/index.html:240
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}Inspect the APK yourself{ph1}"
|
||
msgstr "{ph0}APK را خودتان بازرسی کنید{ph1}"
|
||
|
||
#: website/public/showcase/aegis/index.html:245
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Ask your agent"
|
||
msgstr "از نماینده خود بپرسید"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/showcase/aegis/index.html:246
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"The app shows a changing login code. We want to find {ph0}what makes it "
|
||
"change{ph1} and reproduce that behavior."
|
||
msgstr ""
|
||
"برنامه یک کد ورود در حال تغییر را نشان می دهد. ما می خواهیم برای پیدا کردن "
|
||
"{ph0}چه چیزی باعث تغییر آن می شود ؟ {ph1} و این رفتار را بازتولید کنید."
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/showcase/aegis/index.html:252
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#: website/public/showcase/aegis/index.html:256
|
||
#: website/public/showcase/aegis/index.html:719
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#. {ph0}: <a href="#try">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/aegis/index.html:276
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"An example prompt for the downloaded APK, with REA's Android analysis "
|
||
"configured. {ph0}Get the APK and analysis setup ↓{ph1}"
|
||
msgstr ""
|
||
"یک مثال برای APK دانلود شده ، با تجزیه و تحلیل اندروید REA پیکربندی شده است."
|
||
" {ph0}APK و راه اندازی تجزیه و تحلیل را دریافت کنید ↓{ph1}"
|
||
|
||
#: website/public/showcase/aegis/index.html:284
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Try the code generator"
|
||
msgstr "ژنراتور کد را امتحان کنید"
|
||
|
||
#. {ph0}: <mark class="prose-highlight">
|
||
#. {ph1}: </mark>
|
||
#: website/public/showcase/aegis/index.html:285
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"The app groups time into {ph0}30-second blocks.{ph1} It combines the block "
|
||
"number with the account key to generate a code. The same key and block "
|
||
"produce the same code."
|
||
msgstr ""
|
||
"برنامه گروه زمان به {ph0}بلوک های 30 ثانیه ای{ph1} این شماره بلوک را با کلید"
|
||
" حساب برای تولید یک کد ترکیب می کند. همان کلید و بلوک همان کد را تولید می "
|
||
"کنند."
|
||
|
||
#: website/public/showcase/aegis/index.html:292
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Move the clock across 60 seconds"
|
||
msgstr "ساعت را در طول 60 ثانیه حرکت دهید"
|
||
|
||
#: website/public/showcase/aegis/index.html:295
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Time"
|
||
msgstr "زمان"
|
||
|
||
#: website/public/showcase/aegis/index.html:297
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "seconds"
|
||
msgstr "ثانیه ها"
|
||
|
||
#: website/public/showcase/aegis/index.html:298
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Our adjustable example clock"
|
||
msgstr "ساعت نمونه قابل تنظیم ما"
|
||
|
||
#: website/public/showcase/aegis/index.html:301
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "30-second block"
|
||
msgstr "بلوک 30 ثانیه ای"
|
||
|
||
#: website/public/showcase/aegis/index.html:303
|
||
#: website/public/showcase/aegis/index.html:630
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Block"
|
||
msgstr "بلوک"
|
||
|
||
#. {ph0}: <code data-aegis-division>floor(59 / 30)</code>
|
||
#. {ph1}: <br />
|
||
#. {ph2}: <span data-aegis-window >
|
||
#. {ph3}: </span >
|
||
#: website/public/showcase/aegis/index.html:304
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}{ph1}{ph2}30–59 seconds{ph3}"
|
||
msgstr "{ph0}{ph1}{ph2}30-59 ثانیه{ph3}"
|
||
|
||
#: website/public/showcase/aegis/index.html:312
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Generated code"
|
||
msgstr "کد تولید شده"
|
||
|
||
#: website/public/showcase/aegis/index.html:320
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Account key + block → six digits"
|
||
msgstr "کلید حساب + بلوک → شش رقمی"
|
||
|
||
#: website/public/showcase/aegis/index.html:326
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Example time, in seconds"
|
||
msgstr "زمان مثال ، در ثانیه"
|
||
|
||
#: website/public/showcase/aegis/index.html:341
|
||
#: website/public/showcase/aegis/index.html:641
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "59 seconds"
|
||
msgstr "59 ثانیه"
|
||
|
||
#: website/public/showcase/aegis/index.html:348
|
||
#: website/public/showcase/aegis/index.html:646
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "60 seconds"
|
||
msgstr "60 ثانیه"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <strong>
|
||
#. {ph3}: </strong>
|
||
#: website/public/showcase/aegis/index.html:357
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"At 59 seconds: {ph0}287082.{ph1} At 60 seconds: {ph2}359152.{ph3} Moving "
|
||
"within one block leaves the code unchanged."
|
||
msgstr ""
|
||
"در 59 ثانیه: {ph0}287082.{ph1} در 60 ثانیه: {ph2}359152.{ph3} حرکت در یک "
|
||
"بلوک کد را بدون تغییر می گذارد."
|
||
|
||
#. {ph0}: <a href="https://www.rfc-editor.org/rfc/rfc6238.html#appendix-B" >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/aegis/index.html:364
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"The key is fixed, public {ph0}RFC 6238 test data{ph1}. The demo implements "
|
||
"the calculation recovered from the APK."
|
||
msgstr ""
|
||
"کلید ثابت است ، عمومی {ph0}داده های تست rfc 6238{ph1}. دمو محاسبه بازیابی "
|
||
"شده از APK را اجرا می کند ."
|
||
|
||
#: website/public/showcase/aegis/index.html:371
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"The diagram shows the result at 59 seconds. Enable JavaScript to change the "
|
||
"clock."
|
||
msgstr ""
|
||
"نمودار نتیجه را در 59 ثانیه نشان می دهد. JavaScript را برای تغییر ساعت فعال "
|
||
"کنید."
|
||
|
||
#: website/public/showcase/aegis/index.html:380
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Find the code with REA"
|
||
msgstr "پیدا کردن کد با REA"
|
||
|
||
#: website/public/showcase/aegis/index.html:383
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Narrow the APK to three classes"
|
||
msgstr "APK را به سه کلاس محدود کنید"
|
||
|
||
#. {ph0}: <code>TotpInfo</code>
|
||
#: website/public/showcase/aegis/index.html:408
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"{ph0} is the calculation candidate; the other two concern the progress bar "
|
||
"and imported accounts. TOTP means a time-based one-time password."
|
||
msgstr ""
|
||
"{ph0} دو مورد دیگر مربوط به نوار پیشرفت و حساب های وارداتی است. TOTP به "
|
||
"معنی یک رمز عبور یک بار مبتنی بر زمان است."
|
||
|
||
#: website/public/showcase/aegis/index.html:415
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Connect the generator to the app's display"
|
||
msgstr "ژنراتور را به صفحه نمایش برنامه وصل کنید"
|
||
|
||
#. {ph0}: <code>EntryHolder.getOtp</code>
|
||
#. {ph1}: <code>TotpInfo.getOtp(timestamp)</code>
|
||
#: website/public/showcase/aegis/index.html:443
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"REA identifies the timestamp overload and finds the base method's callers. "
|
||
"Inspecting {ph0} then shows the display calling {ph1}."
|
||
msgstr ""
|
||
"REA اضافه بار مهر زمانی را شناسایی می کند و تماس گیرندگان روش پایه را پیدا "
|
||
"می کند. بازرسی {ph0} سپس تماس نمایشگر را نشان می دهد {ph1}."
|
||
|
||
#. {ph0}: <code>com.beemdevelopment.aegis</code>
|
||
#: website/public/showcase/aegis/index.html:451
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"Requests show a shortened input path. Result class names omit the common "
|
||
"{ph0} prefix."
|
||
msgstr ""
|
||
"درخواست ها یک مسیر ورودی کوتاه را نشان می دهند. نام کلاس های نتیجه مشترک را "
|
||
"حذف می کنند {ph0} پیشوند."
|
||
|
||
#: website/public/showcase/aegis/index.html:458
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Read the calculation"
|
||
msgstr "محاسبه را بخوانید"
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/showcase/aegis/index.html:459
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"REA returns {ph0}the clock conversion, default settings and generating "
|
||
"methods.{ph1} The constructors set a 30-second interval and six digits; the "
|
||
"timestamp method turns seconds into a block number."
|
||
msgstr ""
|
||
"REA باز می گردد {ph0}تبدیل ساعت ، تنظیمات پیش فرض و روش های تولید.{ph1} "
|
||
"سازندگان یک فاصله 30 ثانیه ای و شش رقمی را تنظیم می کنند ؛ روش زمان بندی "
|
||
"ثانیه ها را به یک عدد بلوک تبدیل می کند."
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/aegis/index.html:474
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}01{ph1} Time block"
|
||
msgstr "{ph0}01{ph1} بلوک زمانی"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/aegis/index.html:482
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}02{ph1} Key + block"
|
||
msgstr "{ph0}02{ph1} کلید + بلوک"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/aegis/index.html:490
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}03{ph1} Six digits"
|
||
msgstr "{ph0}03{ph1} شش رقمی"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/showcase/aegis/index.html:549
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"{ph0}Time chooses the block.{ph1} Seconds 30 through 59 all give block 1. At"
|
||
" 60 seconds, the block becomes 2."
|
||
msgstr ""
|
||
"{ph0}زمان بلوک را انتخاب می کند.{ph1} ثانیه 30 تا 59 همه بلوک 1 را می دهند. "
|
||
"در 60 ثانیه ، بلوک 2 می شود."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/showcase/aegis/index.html:555
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"{ph0}The key matters too.{ph1} The generator combines the account key with "
|
||
"the block. An account with a different key can show a different code at the "
|
||
"same time."
|
||
msgstr ""
|
||
"{ph0}کلید هم مهمه{ph1} ژنراتور کلید حساب را با بلوک ترکیب می کند. یک حساب با"
|
||
" یک کلید متفاوت می تواند یک کد متفاوت را در همان زمان نشان دهد."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/showcase/aegis/index.html:562
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"{ph0}Keep six digits.{ph1} The remainder after division by 1,000,000 is "
|
||
"padded with zeroes when needed, so a code can begin with 0."
|
||
msgstr ""
|
||
"{ph0}شش رقمی نگه دارید.{ph1} باقیمانده بعد از تقسیم به 1 ، 000 ، 000 با صفر "
|
||
"در صورت نیاز ، بنابراین یک کد می تواند با 0 شروع شود."
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/beemdevelopment/Aegis/blob/d6f4e5925a97e4e91593f1542085eae03432a759/LICENSE"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/aegis/index.html:569
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"Excerpts from several inspected methods, with line wrapping for display. The"
|
||
" right panel is an explanatory summary. {ph0}Aegis code is GPL-3.0.{ph1}"
|
||
msgstr ""
|
||
"گزیده هایی از چندین روش بازرسی شده ، با بسته بندی خط برای نمایش. پانل سمت "
|
||
"راست یک خلاصه توضیحی است. {ph0} کد Aegis GPL-3.0 است.{ph1}"
|
||
|
||
#: website/public/showcase/aegis/index.html:578
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Inside the generator"
|
||
msgstr "داخل ژنراتور"
|
||
|
||
#. {ph0}: <code>generateOTP</code>
|
||
#. {ph1}: <code>kotlin.ExceptionsKt</code>
|
||
#. {ph2}: <code>TotpInfo</code>
|
||
#. {ph3}: <code>HOTP</code>
|
||
#: website/public/showcase/aegis/index.html:579
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"The released APK puts {ph0} in {ph1}. REA follows the call from {ph2} and "
|
||
"returns this body; the original source calls the helper {ph3}."
|
||
msgstr ""
|
||
"APK منتشر شده قرار می دهد {ph0} در {ph1}. REA به دنبال تماس از {ph2} و این "
|
||
"بدن را باز می گرداند ؛ منبع اصلی به کمک کننده زنگ می زند {ph3}."
|
||
|
||
#: website/public/showcase/aegis/index.html:601
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"The last hash byte selects a position. Four bytes at that position provide a"
|
||
" positive 31-bit number; formatting reduces it to the requested number of "
|
||
"digits. The constructor's last argument selects the code-formatting branch "
|
||
"introduced by compilation."
|
||
msgstr ""
|
||
"آخرین بایت هش یک موقعیت را انتخاب می کند. چهار بایت در آن موقعیت یک عدد مثبت"
|
||
" 31 بیتی را فراهم می کند ؛ قالب بندی آن را به تعداد ارقام درخواست شده کاهش "
|
||
"می دهد. آخرین استدلال سازنده شاخه قالب بندی کد را که توسط کامپایل معرفی شده "
|
||
"است انتخاب می کند."
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/beemdevelopment/Aegis/blob/d6f4e5925a97e4e91593f1542085eae03432a759/app/src/main/java/com/beemdevelopment/aegis/crypto/otp/HOTP.java"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/aegis/index.html:608
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}Compare with the matching release source{ph1}."
|
||
msgstr "{ph0}با منبع انتشار تطبیق یافته مقایسه کنید{ph1}."
|
||
|
||
#: website/public/showcase/aegis/index.html:618
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Check the reconstruction"
|
||
msgstr "بازسازی را بررسی کنید"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/showcase/aegis/index.html:619
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"We assembled the selected REA-returned Java methods in a small test program."
|
||
" Their output matched an independent reconstruction on {ph0}133 test "
|
||
"cases{ph1}, including time-block boundaries and codes beginning with zero."
|
||
msgstr ""
|
||
"ما روش های جاوا انتخاب شده REA را در یک برنامه تست کوچک جمع آوری کردیم. "
|
||
"خروجی آنها با بازسازی مستقل در {ph0}133 مورد آزمایش{ph1}، شامل مرزهای بلوک "
|
||
"زمانی و کد هایی که با صفر شروع می شوند."
|
||
|
||
#: website/public/showcase/aegis/index.html:629
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Example time"
|
||
msgstr "زمان مثال"
|
||
|
||
#: website/public/showcase/aegis/index.html:631
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Six-digit code"
|
||
msgstr "کد شش رقمی"
|
||
|
||
#: website/public/showcase/aegis/index.html:636
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "30 seconds"
|
||
msgstr "30 ثانیه"
|
||
|
||
#: website/public/showcase/aegis/index.html:651
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "1,111,111,109 seconds"
|
||
msgstr "1,111,111,109 ثانیه"
|
||
|
||
#. {ph0}: <a href="https://www.rfc-editor.org/rfc/rfc6238.html#appendix-B" >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/aegis/index.html:658
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"The generator also matches the six published SHA-1 reference cases in "
|
||
"{ph0}RFC 6238{ph1}. Check the browser implementation against them:"
|
||
msgstr ""
|
||
"ژنراتور همچنین با شش مورد مرجع SHA-1 منتشر شده در {ph0}RFC 6238{ph1}. پیاده "
|
||
"سازی مرورگر را با آنها بررسی کنید:"
|
||
|
||
#: website/public/showcase/aegis/index.html:666
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Run reference checks"
|
||
msgstr "چک های مرجع را اجرا کنید"
|
||
|
||
#: website/public/showcase/aegis/index.html:673
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Read the demo's calculation"
|
||
msgstr "محاسبه دمو را بخوانید"
|
||
|
||
#: website/public/showcase/aegis/index.html:677
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"The reference cases use eight digits. The check also verifies their six-"
|
||
"digit results."
|
||
msgstr ""
|
||
"موارد مرجع از هشت رقم استفاده می کنند. این چک همچنین نتایج شش رقمی آنها را "
|
||
"تأیید می کند."
|
||
|
||
#: website/public/showcase/aegis/index.html:686
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"Verification runs extracted Java methods and the new demo. The Android APK "
|
||
"was inspected statically."
|
||
msgstr ""
|
||
"Verification روش های جاوا استخراج شده و دمو جدید را اجرا می کند. اندروید APK"
|
||
" به صورت استاتیک بازرسی شد."
|
||
|
||
#: website/public/showcase/aegis/index.html:693
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Inspect the APK yourself"
|
||
msgstr "APK را خودتان بازرسی کنید"
|
||
|
||
#. {ph0}: <a href="../../get-started/">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/aegis/index.html:694
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"{ph0}Set up REA{ph1} on macOS or Linux, then download these two files into "
|
||
"the same folder. On Windows, use a Linux environment such as WSL."
|
||
msgstr ""
|
||
"{ph0}راه اندازی REA {ph1} در macOS یا Linux ، سپس این دو فایل را در یک پوشه "
|
||
"دانلود کنید. در Windows ، از یک محیط Linux مانند WSL استفاده کنید."
|
||
|
||
#. {ph0}: <code>JAVA_HOME</code>
|
||
#. {ph1}: <code>PATH</code>
|
||
#: website/public/showcase/aegis/index.html:699
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"Android analysis needs a full JDK 17 or later. Select it with {ph0} or "
|
||
"{ph1}. This case used JDK 21."
|
||
msgstr ""
|
||
"Analysis Android به JDK 17 کامل یا بالاتر نیاز دارد. انتخاب کنید با {ph0} یا"
|
||
" {ph1}. این مورد از JDK 21 استفاده کرد."
|
||
|
||
#: website/public/showcase/aegis/index.html:715
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Point REA at the provider file and inspect the APK:"
|
||
msgstr "نقطه REA در فایل ارائه دهنده و بازرسی APK :"
|
||
|
||
#: website/public/showcase/aegis/index.html:718
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "macOS / Linux"
|
||
msgstr "macOS / Linux"
|
||
|
||
#. {ph0}: <code>REA_JADX_MCP_JAR</code>
|
||
#: website/public/showcase/aegis/index.html:732
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"Your agent can continue through REA's CLI using the prompt above. For MCP, "
|
||
"add {ph0} to the REA server's environment and reconnect it."
|
||
msgstr ""
|
||
"نماینده شما می تواند از طریق REA CLI با استفاده از دستور بالا ادامه دهد. "
|
||
"برای MCP ، اضافه کنید {ph0} به محیط سرور REA و آن را دوباره متصل کنید."
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: </strong >
|
||
#: website/public/showcase/aegis/index.html:737
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"A next question: {ph0}what happens when an account uses eight digits or a "
|
||
"different time interval?{ph1}"
|
||
msgstr ""
|
||
"سوال بعدی: {ph0}چه اتفاقی می افتد وقتی یک حساب کاربری از هشت رقم یا یک فاصله"
|
||
" زمانی متفاوت استفاده می کند ؟ {ph1}"
|
||
|
||
#: website/public/showcase/aegis/index.html:747
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Sources"
|
||
msgstr "منابع"
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/beemdevelopment/Aegis/releases/tag/v3.4.3" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a
|
||
#. href="https://github.com/beemdevelopment/Aegis/tree/d6f4e5925a97e4e91593f1542085eae03432a759"
|
||
#. >
|
||
#. {ph3}: </a >
|
||
#. {ph4}: <a
|
||
#. href="https://github.com/beemdevelopment/Aegis/blob/d6f4e5925a97e4e91593f1542085eae03432a759/LICENSE"
|
||
#. >
|
||
#. {ph5}: </a >
|
||
#: website/public/showcase/aegis/index.html:749
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"{ph0}Official Aegis 3.4.3 release{ph1} · {ph2}Matching source commit{ph3} · "
|
||
"{ph4}GPL-3.0 license{ph5}"
|
||
msgstr ""
|
||
"{ph0}نسخه رسمی Aegis 3.4.3{ph1} · {ph2}تطبیق منبع commit{ph3} · {ph4}مجوز "
|
||
"GPL-3.0{ph5}"
|
||
|
||
#. {ph0}: <a href="https://www.rfc-editor.org/rfc/rfc6238.html#appendix-B" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="test-vectors.json">
|
||
#. {ph3}: </a>
|
||
#: website/public/showcase/aegis/index.html:765
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}RFC 6238 reference cases{ph1} · {ph2}Demo test data{ph3}"
|
||
msgstr "{ph0}پرونده های مرجع rfc 6238{ph1} · {ph2}داده های تست دمو{ph3}"
|
||
|
||
#: website/public/showcase/aegis/index.html:772
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"Inspected with REA 6.1.0 on 9 October 2026. Decompiled excerpts are credited"
|
||
" to Aegis; the diagram, readable summary and browser reconstruction are new "
|
||
"teaching material."
|
||
msgstr ""
|
||
"بازرسی با REA 6.1.0 در 9 اکتبر 2026. گزیده های تجزیه شده به Aegis اعتبار "
|
||
"داده می شوند ؛ نمودار ، خلاصه قابل خواندن و بازسازی مرورگر مواد آموزشی جدید "
|
||
"هستند."
|
||
|
||
#: website/public/showcase/aegis/index.html:6
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Aegis APK Reverse Engineering: Login Codes — REA"
|
||
msgstr "Aegis APK مهندسی معکوس: کدهای ورود-REA"
|
||
|
||
#: website/public/showcase/aegis/index.html:7
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"Inspect the Aegis Android APK with REA, recover its six-digit login-code "
|
||
"calculation and try a reconstruction with an adjustable clock."
|
||
msgstr ""
|
||
"Aegis Android APK را با REA بازرسی کنید ، محاسبه کد ورود شش رقمی خود را "
|
||
"بازیابی کنید و بازسازی را با یک ساعت قابل تنظیم امتحان کنید."
|
||
|
||
#: website/public/showcase/aegis/index.html:232
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/showcase/aegis/index.html:243
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Aegis APK case study"
|
||
msgstr "مطالعه موردی Aegis APK"
|
||
|
||
#: website/public/showcase/aegis/index.html:256
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Copy Aegis example prompt"
|
||
msgstr "کپی Aegis مثال prompt"
|
||
|
||
#: website/public/showcase/aegis/index.html:469
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Follow the login-code calculation"
|
||
msgstr "محاسبه کد ورود را دنبال کنید"
|
||
|
||
#: website/public/showcase/aegis/index.html:719
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Copy APK inspection command"
|
||
msgstr "کپی APK دستور بازرسی"
|
||
|
||
#: website/public/showcase/aegis/index.html:795
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/showcase/ctf/index.html:99
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../../">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="../">
|
||
#. {ph3}: </a>
|
||
#: website/public/showcase/ctf/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / CTF"
|
||
msgstr "{ph0}خانه{ph1} / {ph2}ویترین ها{ph3} / CTF"
|
||
|
||
#: website/public/showcase/ctf/index.html:184
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Case study · DownUnderCTF 2023"
|
||
msgstr "مطالعه موردی · DownUnderCTF 2023"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/showcase/ctf/index.html:185
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Find the flag in{ph0}a CTF binary."
|
||
msgstr "پرچم را در{ph0}یک باینری CTF."
|
||
|
||
#. {ph0}: <code>Correct!</code>
|
||
#: website/public/showcase/ctf/index.html:186
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"Use REA to inspect a small flag checker, turn its rules into equations and "
|
||
"find an input that makes the original program print {ph0}."
|
||
msgstr ""
|
||
"از REA برای بازرسی یک چک کننده پرچم کوچک استفاده کنید ، قوانین آن را به "
|
||
"معادلات تبدیل کنید و ورودی را پیدا کنید که برنامه اصلی را چاپ کند {ph0}."
|
||
|
||
#: website/public/showcase/ctf/index.html:191
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "masked squares flag checker · Easy · Linux x86-64"
|
||
msgstr "مربع نقاب دار چک پرچم * آسان * Linux x86-64"
|
||
|
||
#: website/public/showcase/ctf/index.html:194
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "View the original challenge"
|
||
msgstr "چالش اصلی را مشاهده کنید"
|
||
|
||
#: website/public/showcase/ctf/index.html:202
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "From a binary to a checked answer"
|
||
msgstr "از یک باینری به یک پاسخ چک شده"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <strong class="flow-node">
|
||
#. {ph3}: </strong >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/showcase/ctf/index.html:204
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"{ph0}01 · Find the check{ph1}{ph2}Strings → checking functions{ph3}{ph4}REA "
|
||
"finds the prompt, its references and the code that accepts or rejects an "
|
||
"input.{ph5}"
|
||
msgstr ""
|
||
"{ph0}01 * چک را پیدا کنید{ph1}{ph2}رشته ها → بررسی توابع{ph3}{ph4} REA پیام "
|
||
"، مرجع های آن و کد را پیدا می کند که ورودی را قبول یا رد می کند.{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <strong class="flow-node">
|
||
#. {ph3}: </strong >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/showcase/ctf/index.html:212
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"{ph0}02 · Extract the rules{ph1}{ph2}36 characters · 26 sums{ph3}{ph4}REA "
|
||
"returns the instructions and data behind each check. The agent turns them "
|
||
"into equations.{ph5}"
|
||
msgstr ""
|
||
"{ph0}02 * قوانین را استخراج کنید{ph1}{ph2}36 کاراکتر * 26 مجموع{ph3}{ph4} "
|
||
"REA دستورالعمل ها و داده های پشت هر چک را باز می گرداند. عامل آنها را به "
|
||
"معادلات تبدیل می کند.{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <strong class="flow-node">
|
||
#. {ph3}: </strong >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/showcase/ctf/index.html:220
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"{ph0}03 · Solve and run{ph1}{ph2}Recovered flag → Correct!{ph3}{ph4}A Python"
|
||
" script solves the equations. REA captures the original program accepting "
|
||
"the result.{ph5}"
|
||
msgstr ""
|
||
"{ph0}03 * حل و اجرا{ph1}{ph2}پرچم بازیابی → درست است!{ph3}{ph4}یک اسکریپت "
|
||
"پایتون معادلات را حل می کند. REA برنامه اصلی پذیرش نتیجه را ضبط می "
|
||
"کند.{ph5}"
|
||
|
||
#: website/public/showcase/ctf/index.html:229
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"The challenge is by joseph, published in DownUnderCTF's official repository."
|
||
msgstr "چالش توسط جوزف است که در مخزن رسمی DownUnderCTF منتشر شده است."
|
||
|
||
#: website/public/showcase/ctf/index.html:237
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "In this case study"
|
||
msgstr "در این مطالعه موردی"
|
||
|
||
#. {ph0}: <a href="#find">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/ctf/index.html:239
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}Find the checking code{ph1}"
|
||
msgstr "{ph0}کد چک کردن را پیدا کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#mask">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/ctf/index.html:240
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}Read one mask{ph1}"
|
||
msgstr "{ph0}یک ماسک بخوانید{ph1}"
|
||
|
||
#. {ph0}: <a href="#code">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/ctf/index.html:241
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}Assembly to readable code{ph1}"
|
||
msgstr "{ph0}مونتاژ به کد قابل خواندن{ph1}"
|
||
|
||
#. {ph0}: <a href="#solve">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/ctf/index.html:242
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}Solve the equations{ph1}"
|
||
msgstr "{ph0}معادلات را حل کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#verify">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/ctf/index.html:243
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}Check the answer{ph1}"
|
||
msgstr "{ph0}پاسخ را بررسی کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#try">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/ctf/index.html:244
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}Try it yourself{ph1}"
|
||
msgstr "{ph0}خودتان امتحان کنید{ph1}"
|
||
|
||
#: website/public/showcase/ctf/index.html:249
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Find the checking code"
|
||
msgstr "کد چک کردن را پیدا کنید"
|
||
|
||
#. {ph0}: <code>Correct!</code>
|
||
#. {ph1}: <code>Incorrect!</code>
|
||
#: website/public/showcase/ctf/index.html:250
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"The handout is a 15 KB executable. It asks for a flag, then prints {ph0} or "
|
||
"{ph1}. Start with a simple request to your agent."
|
||
msgstr ""
|
||
"این کتابچه یک فایل اجرایی 15 کیلو بایت است. پرچم ميخواد ، بعدش چاپ ميکنه "
|
||
"{ph0} یا {ph1}. با یک درخواست ساده به نماینده خود شروع کنید."
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/showcase/ctf/index.html:257
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#: website/public/showcase/ctf/index.html:262
|
||
#: website/public/showcase/ctf/index.html:481
|
||
#: website/public/showcase/ctf/index.html:505
|
||
#: website/public/showcase/ctf/index.html:575
|
||
#: website/public/showcase/ctf/index.html:722
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="ctf-prompt" >
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph5}: </span>
|
||
#: website/public/showcase/ctf/index.html:271
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to analyze ms_flag_checker and find the flag. "
|
||
"Explain how the checks work, then verify the answer with the original "
|
||
"program.{ph3}{ph4}{ph5}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}از REA برای تجزیه و تحلیل ms_flag_checker و پیدا کردن پرچم "
|
||
"استفاده کنید. نحوه کار چک ها را توضیح دهید ، سپس پاسخ را با برنامه اصلی "
|
||
"تأیید کنید.{ph3}{ph4}{ph5}"
|
||
|
||
#: website/public/showcase/ctf/index.html:280
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"An example prompt, with the downloaded challenge available locally and a "
|
||
"native analysis provider connected."
|
||
msgstr ""
|
||
"یک مثال سریع، با چالش دانلود شده در دسترس محلی و تجزیه و تحلیل ارائه دهنده "
|
||
"برنامه های کد ماشین متصل شده است."
|
||
|
||
#: website/public/showcase/ctf/index.html:286
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Follow the input prompt to its function"
|
||
msgstr "از دستور ورودی به تابع آن پیروی کنید"
|
||
|
||
#: website/public/showcase/ctf/index.html:315
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"The reference gives the agent a place to investigate, even though the "
|
||
"executable's original function names have been removed."
|
||
msgstr ""
|
||
"مرجع به مامور جایی برای تحقیق می دهد ، حتی اگر نام های اصلی تابع اجرایی حذف "
|
||
"شده باشند."
|
||
|
||
#: website/public/showcase/ctf/index.html:322
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Read the checker and its two helpers"
|
||
msgstr "چک کننده و دو کمک کننده اش رو بخون"
|
||
|
||
#. {ph0}: <code>0x18</code>
|
||
#. {ph1}: <code>0x270</code>
|
||
#: website/public/showcase/ctf/index.html:350
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"The first loop copies 36 character codes. The checking loop decodes a mask, "
|
||
"sums the selected codes and compares the result with a stored number. Its "
|
||
"{ph0}-byte steps across {ph1} bytes give 26 masks."
|
||
msgstr ""
|
||
"حلقه اول 36 کد کاراکتر را کپی می کند. حلقه چک کردن یک ماسک را رمزگشایی می "
|
||
"کند ، کدهای انتخاب شده را جمع می کند و نتیجه را با یک عدد ذخیره شده مقایسه "
|
||
"می کند. اون {ph0}- گام های بایت در سراسر {ph1} بایت ها 26 ماسک می دهند."
|
||
|
||
#: website/public/showcase/ctf/index.html:358
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"These are selected results from a fresh REA analysis. The local target path "
|
||
"is shortened for display; addresses refer to REA's imported image."
|
||
msgstr ""
|
||
"این نتایج از تجزیه و تحلیل REA تازه انتخاب شده است. مسیر هدف محلی برای نمایش"
|
||
" کوتاه می شود ؛ آدرس ها به تصویر وارد شده REA مراجعه می کنند."
|
||
|
||
#: website/public/showcase/ctf/index.html:366
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "One check reveals one character"
|
||
msgstr "یک چک یک شخصیت را نشان می دهد"
|
||
|
||
#: website/public/showcase/ctf/index.html:367
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"The checker arranges the input in a 6×6 grid. A mask chooses which cells "
|
||
"contribute to a sum. Its compact encoding uses negative numbers to skip "
|
||
"cells and positive numbers to select them."
|
||
msgstr ""
|
||
"چک کننده ورودی را در یک شبکه 6×6 مرتب می کند. ماسک انتخاب می کند که کدام "
|
||
"سلول ها به جمع کمک می کنند. کدگذاری جمع و جور آن از اعداد منفی برای حذف سلول"
|
||
" ها و اعداد مثبت برای انتخاب آنها استفاده می کند."
|
||
|
||
#. {ph0}: <a href="../../assets/figures/ctf-mask-equation.svg" >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/ctf/index.html:387
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "The seventh check selects just one position. {ph0}Open figure{ph1}."
|
||
msgstr "بررسی هفتم فقط یک موقعیت را انتخاب می کند. {ph0}شکل باز{ph1}."
|
||
|
||
#: website/public/showcase/ctf/index.html:394
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Read the mask and its target from the binary"
|
||
msgstr "ماسک و هدف آن را از باینری بخوانید"
|
||
|
||
#. {ph0}: <code>MOVSX</code>
|
||
#. {ph1}: <code>eb</code>
|
||
#. {ph2}: <code>code[21] = 55</code>
|
||
#. {ph3}: <code>7</code>
|
||
#: website/public/showcase/ctf/index.html:416
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"The instruction {ph0} reads mask bytes as signed values. This is why {ph1} "
|
||
"means −21. The target is a little-endian integer. Together, these bytes tell"
|
||
" the agent that {ph2}, so that character is {ph3}."
|
||
msgstr ""
|
||
"دستورالعمل {ph0} بایت های ماسک را به عنوان مقادیر امضا شده می خواند. به همین"
|
||
" دلیل است {ph1} به معنی -21 هدف یک عدد صحیح اندکی است. با هم ، این بایت ها "
|
||
"به عامل می گویند که {ph2}، پس اون شخصیت {ph3}."
|
||
|
||
#: website/public/showcase/ctf/index.html:425
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "From instructions to a readable check"
|
||
msgstr "از دستورالعمل ها تا چک قابل خواندن"
|
||
|
||
#: website/public/showcase/ctf/index.html:426
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"Select a step to connect the summing helper and its caller to the same rule "
|
||
"in C."
|
||
msgstr ""
|
||
"یک مرحله را برای اتصال کمک کننده جمع آوری و تماس گیرنده آن به همان قانون در "
|
||
"C انتخاب کنید."
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/ctf/index.html:436
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}01{ph1} Start"
|
||
msgstr "{ph0}01{ph1} شروع کن"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/ctf/index.html:444
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}02{ph1} Select"
|
||
msgstr "{ph0}02{ph1} انتخاب کنید"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/ctf/index.html:452
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}03{ph1} Add"
|
||
msgstr "{ph0}03{ph1} اضافه کردن"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/ctf/index.html:460
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}04{ph1} Advance"
|
||
msgstr "{ph0}04{ph1} پیشبرد"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/ctf/index.html:468
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}05{ph1} Compare"
|
||
msgstr "{ph0}05{ph1} مقایسه کنید"
|
||
|
||
#: website/public/showcase/ctf/index.html:480
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "REA · selected original instructions"
|
||
msgstr "REA * دستورالعمل های اصلی انتخاب شده"
|
||
|
||
#: website/public/showcase/ctf/index.html:504
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Readable C · one-check summary"
|
||
msgstr "قابل خواندن c * یک چک خلاصه"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>ECX</code>
|
||
#: website/public/showcase/ctf/index.html:533
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "{ph0}01 · Start at zero.{ph1} {ph2} holds the running sum."
|
||
msgstr ""
|
||
"{ph0}01 * از صفر شروع کنید.{ph1} {ph2} مبلغ در حال اجرا را نگه می دارد."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/showcase/ctf/index.html:537
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"{ph0}02 · Check the mask cell.{ph1} A zero value skips the character; a "
|
||
"nonzero value includes it."
|
||
msgstr ""
|
||
"{ph0}02 * سلول ماسک را بررسی کنید.{ph1} یک مقدار صفر کاراکتر را حذف می کند ؛"
|
||
" یک مقدار غیر صفر شامل آن است."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/showcase/ctf/index.html:541
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"{ph0}03 · Add a character code.{ph1} The input's integer at the same offset "
|
||
"is added to the sum."
|
||
msgstr ""
|
||
"{ph0}03 * یک کد کاراکتر اضافه کنید.{ph1} عدد صحیح ورودی در همان جبران به "
|
||
"مجموع اضافه می شود."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#: website/public/showcase/ctf/index.html:545
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"{ph0}04 · Move to the next cell.{ph1} The original loop advances four bytes "
|
||
"per integer and visits six rows of six cells."
|
||
msgstr ""
|
||
"{ph0}04 * به سلول بعدی بروید.{ph1} حلقه اصلی چهار بایت در هر عدد صحیح را پیش"
|
||
" می برد و شش ردیف از شش سلول را بازدید می کند."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>EAX</code>
|
||
#. {ph3}: <code>Incorrect!</code>
|
||
#: website/public/showcase/ctf/index.html:550
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"{ph0}05 · Compare with the stored target.{ph1} The caller receives the sum "
|
||
"in {ph2}. A mismatch jumps to {ph3}."
|
||
msgstr ""
|
||
"{ph0}05 * با هدف ذخیره شده مقایسه کنید.{ph1} تماس گیرنده مبلغ را در {ph2}. "
|
||
"عدم تطابق به {ph3}."
|
||
|
||
#: website/public/showcase/ctf/index.html:557
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"The instructions come from the summing helper and its caller. The C is an "
|
||
"explanatory summary with descriptive names and a flattened 36-cell loop."
|
||
msgstr ""
|
||
"دستورالعمل ها از طرف کمک کننده جمع آوری و تماس گیرنده اش می آید. C یک خلاصه "
|
||
"توضیحی با نام های توصیفی و یک حلقه 36 سلولی مسطح است."
|
||
|
||
#: website/public/showcase/ctf/index.html:565
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Solve the 26 equations"
|
||
msgstr "معادلات 26 را حل کنید"
|
||
|
||
#: website/public/showcase/ctf/index.html:566
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"Most masks select several cells. For example, the first check adds 16 "
|
||
"character codes and requires a total of 1441. The overlapping selections "
|
||
"give equations that a small Python script can solve together."
|
||
msgstr ""
|
||
"اکثر ماسک ها چندین سلول را انتخاب می کنند. به عنوان مثال ، اولین چک 16 کد "
|
||
"کاراکتر اضافه می کند و در مجموع 1441 مورد نیاز دارد. انتخاب های همپوشانی "
|
||
"معادلاتی را ارائه می دهند که یک اسکریپت کوچک پایتون می تواند با هم حل کند."
|
||
|
||
#: website/public/showcase/ctf/index.html:574
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Python · solver excerpt"
|
||
msgstr "پایتون * گزیده حل کننده"
|
||
|
||
#. {ph0}: <code>DUCTF{…}</code>
|
||
#: website/public/showcase/ctf/index.html:602
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"Z3 is a solver that finds values satisfying these equations. This excerpt "
|
||
"uses the extracted checks and assumes a {ph0} flag with letters, digits, "
|
||
"underscores and braces. The complete download includes all 26 masks and "
|
||
"targets."
|
||
msgstr ""
|
||
"Z3 یک حل کننده است که مقادیر را برای برآورده کردن این معادلات پیدا می کند. "
|
||
"این گزیده از چک های استخراج شده استفاده می کند و فرض می کند {ph0} پرچم با "
|
||
"حروف ، ارقام ، زیرنویس ها و بریس ها. دانلود کامل شامل تمام 26 ماسک و هدف "
|
||
"است."
|
||
|
||
#: website/public/showcase/ctf/index.html:608
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Download the complete solver"
|
||
msgstr "دانلود حل کننده کامل"
|
||
|
||
#: website/public/showcase/ctf/index.html:614
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Check the answer with the original program"
|
||
msgstr "پاسخ را با برنامه اصلی بررسی کنید"
|
||
|
||
#. {ph0}: <code>z</code>
|
||
#. {ph1}: <code>y</code>
|
||
#: website/public/showcase/ctf/index.html:615
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"REA's process capture records the original executable accepting the solved "
|
||
"flag. Changing one selected character from {ph0} to {ph1} makes the first "
|
||
"sum 1440 instead of 1441, and the program rejects it."
|
||
msgstr ""
|
||
"ضبط فرآیند REA ، فایل اجرایی اصلی را که پرچم حل شده را قبول می کند ، ثبت می "
|
||
"کند. تغییر یک کاراکتر انتخاب شده از {ph0} به {ph1} اولین مبلغ 1440 را به جای"
|
||
" 1441 می سازد و برنامه آن را رد می کند."
|
||
|
||
#: website/public/showcase/ctf/index.html:625
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Input"
|
||
msgstr "ورودی"
|
||
|
||
#: website/public/showcase/ctf/index.html:626
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Observed output"
|
||
msgstr "خروجی مشاهده شده"
|
||
|
||
#: website/public/showcase/ctf/index.html:627
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Exit code"
|
||
msgstr "کد خروج"
|
||
|
||
#: website/public/showcase/ctf/index.html:632
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Solver's flag"
|
||
msgstr "پرچم حل کننده"
|
||
|
||
#: website/public/showcase/ctf/index.html:637
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "One character changed"
|
||
msgstr "یک شخصیت تغییر کرد"
|
||
|
||
#: website/public/showcase/ctf/index.html:645
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Show the recovered flag and captured output"
|
||
msgstr "نشان دادن پرچم بازیابی شده و خروجی گرفته شده"
|
||
|
||
#: website/public/showcase/ctf/index.html:648
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "REA · original program output"
|
||
msgstr "REA * خروجی برنامه اصلی"
|
||
|
||
#: website/public/showcase/ctf/index.html:649
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy flag"
|
||
msgstr "پرچم کپی"
|
||
|
||
#: website/public/showcase/ctf/index.html:661
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"The recovered value also matches the flag in the organizers' published "
|
||
"challenge metadata, checked after solving the binary."
|
||
msgstr ""
|
||
"مقدار بازیابی شده همچنین با پرچم در متا داده های چالش منتشر شده سازمان "
|
||
"دهندگان مطابقت دارد که پس از حل باینری بررسی شده است."
|
||
|
||
#: website/public/showcase/ctf/index.html:667
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Source, target identity and analysis details"
|
||
msgstr "منبع ، هویت هدف و جزئیات تجزیه و تحلیل"
|
||
|
||
#: website/public/showcase/ctf/index.html:668
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"Fresh analysis and two process captures on 8 October 2026, using REA 4.1.0 "
|
||
"with Ghidra 12.1.4 on Linux x64. The binary is a stripped x86-64 ELF, 15,248"
|
||
" bytes."
|
||
msgstr ""
|
||
"تجزیه و تحلیل تازه و دو فرآیند ضبط در 8 اکتبر 2026 ، با استفاده از REA 4.1.0"
|
||
" با Ghidra 12.1.4 در Linux x64. باینری یک ELF x86-64 است که 15248 بایت است."
|
||
|
||
#: website/public/showcase/ctf/index.html:679
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"The string references, functions and constants were inspected before reading"
|
||
" the organizers' source or solution. The Python solver and the diagram were "
|
||
"built from those REA results."
|
||
msgstr ""
|
||
"مرجع های رشته ای ، توابع و ثابت ها قبل از خواندن منبع یا راه حل سازمان "
|
||
"دهندگان بازرسی شدند. حل کننده پایتون و نمودار از نتایج REA ساخته شده است."
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/DownUnderCTF/Challenges_2023_Public/blob/b48f83db2984bc7fa2ec7879a32d7efb1be8d333/rev/masked-
|
||
#. squares-flag-checker/src/ms_flag_checker.c" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a
|
||
#. href="https://github.com/DownUnderCTF/Challenges_2023_Public/blob/b48f83db2984bc7fa2ec7879a32d7efb1be8d333/rev/masked-
|
||
#. squares-flag-checker/ctfcli.yaml" >
|
||
#. {ph3}: </a >
|
||
#. {ph4}: <a
|
||
#. href="https://github.com/morluto/rea/blob/main/website/evidence/ctf-masked-
|
||
#. squares.md" >
|
||
#. {ph5}: </a >
|
||
#: website/public/showcase/ctf/index.html:684
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"{ph0}Compare with the organizers' source{ph1} · {ph2}Challenge metadata and "
|
||
"flag{ph3} · {ph4}REA evidence notes{ph5}"
|
||
msgstr ""
|
||
"{ph0}با منبع سازمان دهندگان مقایسه کنید{ph1} · {ph2}چالش متا داده ها و "
|
||
"پرچم{ph3} · {ph4} یادداشت های شواهد REA{ph5}"
|
||
|
||
#: website/public/showcase/ctf/index.html:704
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Try it yourself"
|
||
msgstr "خودتان امتحان کنید"
|
||
|
||
#: website/public/showcase/ctf/index.html:705
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"Download the original challenge and the solver into one folder. Use the "
|
||
"prompt above to investigate with your agent, or run the included script."
|
||
msgstr ""
|
||
"چالش اصلی و حل کننده را در یک پوشه دانلود کنید. از دستور بالا برای تحقیق با "
|
||
"نماینده خود استفاده کنید یا اسکریپت همراه را اجرا کنید."
|
||
|
||
#: website/public/showcase/ctf/index.html:721
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Terminal · solve and run"
|
||
msgstr "ترمینال * حل و اجرا"
|
||
|
||
#. {ph0}: <code>z3-solver</code>
|
||
#: website/public/showcase/ctf/index.html:738
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"The script prints a candidate flag; paste it at the program's prompt. "
|
||
"Solving needs Python and {ph0}. Running the original executable needs Linux "
|
||
"x86-64."
|
||
msgstr ""
|
||
"اسکریپت پرچم کاندیداها را چاپ می کند ؛ آن را در دستور برنامه چسبانید. حل "
|
||
"نیازها پایتون و {ph0}. اجرای فایل اجرایی اصلی نیاز به Linux x86-64 دارد."
|
||
|
||
#: website/public/showcase/ctf/index.html:743
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Set up REA with your coding agent"
|
||
msgstr "REA را با عامل کدگذاری خود تنظیم کنید"
|
||
|
||
#: website/public/showcase/ctf/index.html:6
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "CTF Reverse Engineering: DownUnderCTF Flag Checker — REA"
|
||
msgstr "مهندسی معکوس CTF: چک کننده پرچم DownUnderCTF-REA"
|
||
|
||
#: website/public/showcase/ctf/index.html:7
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"Use REA to solve DownUnderCTF's masked squares flag checker. Find the "
|
||
"checking functions, extract the masks and compare a recovered flag with the "
|
||
"original program."
|
||
msgstr ""
|
||
"از REA برای حل چک کننده پرچم مربع های نقاب دار DownUnderCTF استفاده کنید. "
|
||
"توابع چک کردن را پیدا کنید ، ماسک ها را استخراج کنید و یک پرچم بازیابی شده "
|
||
"را با برنامه اصلی مقایسه کنید."
|
||
|
||
#: website/public/showcase/ctf/index.html:236
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/showcase/ctf/index.html:247
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "CTF flag-checker case study"
|
||
msgstr "مطالعه موردی ctf flag-checker"
|
||
|
||
#: website/public/showcase/ctf/index.html:262
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy CTF example prompt"
|
||
msgstr "کپی نمونه ctf prompt"
|
||
|
||
#: website/public/showcase/ctf/index.html:373
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "CTF mask equation; scroll horizontally on smaller screens"
|
||
msgstr "معادله ماسک ctf ؛ به صورت افقی روی صفحه نمایش های کوچکتر حرکت کنید"
|
||
|
||
#: website/public/showcase/ctf/index.html:379
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"The seventh mask skips 21 cells, selects position 21, then skips 14. Only "
|
||
"that cell contributes to the sum. Its required character code is 55, which "
|
||
"means the character is 7."
|
||
msgstr ""
|
||
"ماسک هفتم 21 سلول را رد می کند ، موقعیت 21 را انتخاب می کند ، سپس 14 را رد "
|
||
"می کند. فقط اون سلول به جمع کمک ميکنه کد کاراکتر مورد نیاز آن 55 است ، به "
|
||
"این معنی که کاراکتر 7 است."
|
||
|
||
#: website/public/showcase/ctf/index.html:431
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Follow the CTF check"
|
||
msgstr "بررسی CTF را دنبال کنید"
|
||
|
||
#: website/public/showcase/ctf/index.html:481
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy CTF assembly"
|
||
msgstr "کپی ctf مونتاژ"
|
||
|
||
#: website/public/showcase/ctf/index.html:505
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy readable CTF check"
|
||
msgstr "Ctf قابل خواندن را کپی کنید"
|
||
|
||
#: website/public/showcase/ctf/index.html:575
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy CTF solver excerpt"
|
||
msgstr "کپی ctf solver گزیده"
|
||
|
||
#: website/public/showcase/ctf/index.html:649
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy recovered flag"
|
||
msgstr "کپی پرچم بازیابی شده"
|
||
|
||
#: website/public/showcase/ctf/index.html:722
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy CTF solver commands"
|
||
msgstr "دستورات ctf solver را کپی کنید"
|
||
|
||
#: website/public/showcase/ctf/index.html:764
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:99
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../../">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="../">
|
||
#. {ph3}: </a>
|
||
#: website/public/showcase/dx-ball/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / DX-Ball"
|
||
msgstr "{ph0}خانه{ph1} / {ph2}ویترین ها{ph3} / DX-Ball"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:184
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Case study · DX-Ball 1.07"
|
||
msgstr "مطالعه موردی * DX-Ball 1.07"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/showcase/dx-ball/index.html:185
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Rebuilding DX-Ball{ph0}from its executable."
|
||
msgstr "بازسازی DX-Ball {ph0}از فایل اجرایی آن."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:186
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The goal is a maintainable C version of the 1996 Windows game. REA helps the"
|
||
" agent inspect the original, one function at a time."
|
||
msgstr ""
|
||
"هدف یک نسخه c قابل نگهداری از بازی Windows 1996 است. REA به عامل کمک می کند"
|
||
" تا اصل را بازرسی کند ، یک عملکرد در یک زمان."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:190
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Windows i386 · C · REA"
|
||
msgstr "Windows i386 * C * REA"
|
||
|
||
#. {ph0}: <a href="../../assets/figures/dx-ball-sound-pan-investigation.svg" >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/dx-ball/index.html:207
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"One function, from executable to checked C. REA supplies the instructions, "
|
||
"callers and data reads; the reconstruction project implements and tests the "
|
||
"result. {ph0}Open figure{ph1}"
|
||
msgstr ""
|
||
"یک تابع ، از اجرایی به c. REA چک شده ، دستورالعمل ها ، تماس گیرندگان و داده "
|
||
"های خوانده شده را ارائه می دهد ؛ پروژه بازسازی نتیجه را اجرا و آزمایش می "
|
||
"کند. {ph0}شکل باز{ph1}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:218
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "In this case study"
|
||
msgstr "در این مطالعه موردی"
|
||
|
||
#. {ph0}: <a href="#progress">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/dx-ball/index.html:220
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}The project{ph1}"
|
||
msgstr "{ph0}پروژه{ph1}"
|
||
|
||
#. {ph0}: <a href="#sound-pan">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/dx-ball/index.html:221
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}Sound pan{ph1}"
|
||
msgstr "{ph0}پان صدا{ph1}"
|
||
|
||
#. {ph0}: <a href="#checking">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/dx-ball/index.html:222
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}Checking the result{ph1}"
|
||
msgstr "{ph0}بررسی نتیجه{ph1}"
|
||
|
||
#. {ph0}: <a href="#continue">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/dx-ball/index.html:223
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}Continue the work{ph1}"
|
||
msgstr "{ph0}ادامه کار{ph1}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:231
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "maintained C functions"
|
||
msgstr "توابع c نگهداری شده"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:235
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "comparisons with original code"
|
||
msgstr "مقایسه با کد اصلی"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:239
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "functions with matching compiled bytes"
|
||
msgstr "توابع با تطبیق بایت های کامپایل شده"
|
||
|
||
#. {ph0}: <a href="https://github.com/N0zoM1z0/dx-
|
||
#. ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/docs/PROGRESS.md" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="https://github.com/N0zoM1z0/dx-
|
||
#. ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/docs/ORACLES.md" >
|
||
#. {ph3}: </a >
|
||
#: website/public/showcase/dx-ball/index.html:242
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"Project checkpoint: 7 October 2026. {ph0}Progress ledger{ph1} · {ph2}Test "
|
||
"coverage{ph3}"
|
||
msgstr ""
|
||
"بازرسی پروژه: 7 اکتبر 2026. {ph0}دفتر کل پیشرفت{ph1} · {ph2}پوشش تست{ph3}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:254
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "The project so far"
|
||
msgstr "پروژه تا کنون"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:255
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The recovered code covers board and resource handling, brick hits, "
|
||
"animations, particles and bonus production. Current builds provide "
|
||
"inspection utilities and an analysis library. Work on the playable game "
|
||
"continues with ball and paddle physics, power-up handling and Windows "
|
||
"integration."
|
||
msgstr ""
|
||
"کد بازیابی شده شامل تخته و مدیریت منابع ، ضربه های آجری ، انیمیشن ها ، ذرات "
|
||
"و تولید پاداش است. ساخت های فعلی خدمات بازرسی و یک کتابخانه تجزیه و تحلیل را"
|
||
" فراهم می کند. کار بر روی بازی قابل پخش با فیزیک توپ و بادکنک ، دست زدن به "
|
||
"قدرت و ادغام Windows ادامه دارد."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:265
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Finding the sound-pan calculation"
|
||
msgstr "پیدا کردن محاسبه موقعیت صدا چپ / راست"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:266
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"When a brick is hit, its horizontal position is passed to the sound code. "
|
||
"The investigation needed to recover how that screen coordinate becomes a "
|
||
"left/right panning value."
|
||
msgstr ""
|
||
"وقتی یک آجر ضربه می خورد ، موقعیت افقی آن به کد صدا منتقل می شود. تحقیقات "
|
||
"لازم برای بازیابی این که چگونه مختصات صفحه نمایش به یک مقدار چپ/راست تبدیل "
|
||
"می شود."
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/showcase/dx-ball/index.html:273
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:277
|
||
#: website/public/showcase/dx-ball/index.html:468
|
||
#: website/public/showcase/dx-ball/index.html:489
|
||
#: website/public/showcase/dx-ball/index.html:560
|
||
#: website/public/showcase/dx-ball/index.html:714
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="dxball-prompt" >
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph5}: </span>
|
||
#: website/public/showcase/dx-ball/index.html:286
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to find how DX-Ball calculates sound panning. "
|
||
"Explain the calculation and show the code.{ph3}{ph4}{ph5}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}استفاده از REA برای پیدا کردن چگونه DX-Ball محاسبه موقعیت "
|
||
"صدا استریو. محاسبه را توضیح دهید و کد را نشان دهید.{ph3}{ph4}{ph5}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:294
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"An example prompt for your coding agent, with the local executable "
|
||
"available. The investigation below shows the REA queries and evidence behind"
|
||
" the answer."
|
||
msgstr ""
|
||
"یک مثال برای عامل کدگذاری شما ، با فایل اجرایی محلی در دسترس است. تحقیقات "
|
||
"زیر سوالات REA و شواهد پشت پاسخ را نشان می دهد."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:299
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The agent used REA to inspect the function, follow its brick-hit caller and "
|
||
"read the constants from the executable. Those results supplied the input and"
|
||
" arithmetic needed to write the C function below."
|
||
msgstr ""
|
||
"مامور از REA برای بازرسی عملکرد استفاده کرد ، تماس گیرنده ضربه آجر آن را "
|
||
"دنبال کرد و ثابت ها را از فایل اجرایی خواند. این نتایج ورودی و ریاضی مورد "
|
||
"نیاز برای نوشتن تابع C زیر را فراهم می کند."
|
||
|
||
#. {ph0}: <code>0x406400</code>
|
||
#. {ph1}: <code>FUN_00406400(void)</code>
|
||
#. {ph2}: <code>__ftol()</code>
|
||
#: website/public/showcase/dx-ball/index.html:305
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The first function result for {ph0} included pseudocode declaring {ph1} and "
|
||
"calling {ph2}. Its instruction view showed a stack input and floating-point "
|
||
"operations. That discrepancy gave the agent a concrete reason to keep "
|
||
"investigating."
|
||
msgstr ""
|
||
"اولین نتیجه تابع برای {ph0} شامل اعلام شبه کد {ph1} و تماس گرفتن {ph2}. نمای"
|
||
" دستورالعمل آن ورودی پشته و عملیات نقطه شناور را نشان می داد. اين اختلاف به "
|
||
"مامور دليل مشخصي براي ادامه تحقيقات داد"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:313
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "The first decompiler view"
|
||
msgstr "اولین نمایش decompiler"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:326
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The output shows a conversion call. Reading the instructions below reveals "
|
||
"the input and the calculation feeding that call."
|
||
msgstr ""
|
||
"خروجی یک تماس تبدیل را نشان می دهد. خواندن دستورالعمل های زیر نشان می دهد "
|
||
"ورودی و محاسبه تغذیه که تماس."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:332
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Three questions answered through REA"
|
||
msgstr "پاسخ به سه سوال از طریق REA"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:335
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Recover the missing input"
|
||
msgstr "بازیابی ورودی گمشده"
|
||
|
||
#. {ph0}: <code>[EBP+8]</code>
|
||
#: website/public/showcase/dx-ball/index.html:352
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The function result includes instructions alongside pseudocode and callers. "
|
||
"Here, {ph0} exposes the integer input missing from the decompiler view."
|
||
msgstr ""
|
||
"نتیجه تابع شامل دستورالعمل ها در کنار کد شبه و تماس گیرندگان است. اینجا, "
|
||
"{ph0} ورودی عدد صحیح را که از نمای decompiler گم شده است ، نشان می دهد."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:359
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Follow the caller to understand the input"
|
||
msgstr "تماس گیرنده را دنبال کنید تا ورودی را درک کنید"
|
||
|
||
#. {ph0}: <code>tile_x</code>
|
||
#. {ph1}: <code>20 + 30 × tile_x</code>
|
||
#: website/public/showcase/dx-ball/index.html:376
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"REA identified this caller in the first result. Its preceding instructions "
|
||
"scale {ph0} by 30; adding 20 gives the brick's screen coordinate, {ph1}."
|
||
msgstr ""
|
||
"REA این تماس گیرنده را در اولین نتیجه شناسایی کرد. مقیاس دستورالعمل های قبلی"
|
||
" آن {ph0} با 30 ؛ اضافه کردن 20 مختصات صفحه نمایش آجر را می دهد, {ph1}."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:383
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Read the values behind the memory addresses"
|
||
msgstr "مقادیر پشت آدرس های حافظه را بخوانید"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:404
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The returned bytes establish the two arithmetic constants and initial pan "
|
||
"scale. The agent now has the values needed for the C expression."
|
||
msgstr ""
|
||
"بایت های بازگردانده شده دو ثابت ریاضی و مقیاس اولیه پان را ایجاد می کنند. "
|
||
"عامل اکنون مقادیر مورد نیاز برای عبارت C را دارد."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:412
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "From REA's findings to C"
|
||
msgstr "از یافته های REA به C"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:413
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"Follow the five steps below. Each selection highlights the original "
|
||
"instructions and the C lines they informed."
|
||
msgstr ""
|
||
"پنج مرحله زیر را دنبال کنید. هر انتخاب دستورالعمل های اصلی و خطوط C را که "
|
||
"آنها اطلاع داده اند برجسته می کند."
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/dx-ball/index.html:423
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}01{ph1} Input"
|
||
msgstr "{ph0}01{ph1} ورودی"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/dx-ball/index.html:431
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}02{ph1} Multiply"
|
||
msgstr "{ph0}02{ph1} ضرب"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/dx-ball/index.html:439
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}03{ph1} Subtract"
|
||
msgstr "{ph0}03{ph1} کسر"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/dx-ball/index.html:447
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}04{ph1} Scale"
|
||
msgstr "{ph0}04{ph1} مقیاس"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/dx-ball/index.html:455
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}05{ph1} Return"
|
||
msgstr "{ph0}05{ph1} بازگشت"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:467
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Original x86 · excerpt"
|
||
msgstr "نسخه اصلی x86 ·"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:488
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Reconstructed C"
|
||
msgstr "بازسازی شده C"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>[EBP+8]</code>
|
||
#. {ph3}: <code>FILD</code>
|
||
#. {ph4}: <code>x</code>
|
||
#: website/public/showcase/dx-ball/index.html:515
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"{ph0}01 · Read the input.{ph1} The instruction view in REA's function result"
|
||
" reads {ph2} and uses {ph3} to load the integer. Following its caller "
|
||
"through REA establishes the screen-coordinate meaning of the C parameter "
|
||
"{ph4}."
|
||
msgstr ""
|
||
"{ph0}01 * ورودی را بخوانید.{ph1} نمایش دستورالعمل در نتیجه تابع REA به شرح "
|
||
"زیر است {ph2} و استفاده می کند {ph3} برای بارگذاری عدد صحیح. با دنبال کردن "
|
||
"تماس گیرنده از طریق REA ، معنی مختصات صفحه نمایش پارامتر C را تعیین می کند "
|
||
"{ph4}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>FMUL</code>
|
||
#. {ph3}: <code>0x420068</code>
|
||
#. {ph4}: <code>read_bytes</code>
|
||
#. {ph5}: <code>1.5625</code>
|
||
#: website/public/showcase/dx-ball/index.html:522
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"{ph0}02 · Multiply by 1.5625.{ph1} {ph2} reads the double at {ph3}. The "
|
||
"bytes returned by REA's {ph4} decode to {ph5}; the C uses the same constant."
|
||
msgstr ""
|
||
"{ph0}02 * ضرب در 1.5625.{ph1} {ph2} دوتایی رو میخونه {ph3}. بایت های "
|
||
"بازگردانده شده توسط REA {ph4} رمزگشایی به {ph5}; C از همان ثابت استفاده می "
|
||
"کند."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>FSUB</code>
|
||
#. {ph3}: <code>0x420070</code>
|
||
#. {ph4}: <code>500.0</code>
|
||
#. {ph5}: <code>320</code>
|
||
#: website/public/showcase/dx-ball/index.html:528
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"{ph0}03 · Subtract 500.0.{ph1} {ph2} reads the double at {ph3}. REA's byte "
|
||
"result decodes to {ph4}, shifting the calculation's center to screen "
|
||
"coordinate {ph5}."
|
||
msgstr ""
|
||
"{ph0}03 * 500.0 را کم کنید.{ph1} {ph2} دوتایی رو میخونه {ph3}. نتیجه بایت "
|
||
"REA به {ph4}، تغییر مرکز محاسبه به مختصات صفحه نمایش {ph5}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>FMUL</code>
|
||
#. {ph3}: <code>0x4210a0</code>
|
||
#. {ph4}: <code>dxball_pan_scale</code>
|
||
#. {ph5}: <code>1.0</code>
|
||
#: website/public/showcase/dx-ball/index.html:534
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"{ph0}04 · Apply the stored scale.{ph1} The second {ph2} reads {ph3}. That "
|
||
"global is named {ph4} in the maintained source. REA's second byte read "
|
||
"establishes its initial value of {ph5}."
|
||
msgstr ""
|
||
"{ph0}04 * مقیاس ذخیره شده را اعمال کنید.{ph1} دوم {ph2} نوشته شده {ph3}. که "
|
||
"جهانی نامگذاری شده است {ph4} در منبع نگهداری شده خواندن بایت دوم REA ارزش "
|
||
"اولیه آن را تعیین می کند {ph5}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>0x406430</code>
|
||
#. {ph3}: <code>__ftol</code>
|
||
#. {ph4}: <code>DxBallInt</code>
|
||
#: website/public/showcase/dx-ball/index.html:541
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"{ph0}05 · Return an integer.{ph1} The call at {ph2} reaches {ph3}, "
|
||
"identified in REA's callee results. The C casts the result to {ph4}; "
|
||
"original-x86 comparisons check the returned value."
|
||
msgstr ""
|
||
"{ph0}05 * یک عدد صحیح را برگردانید.{ph1} تماس در {ph2} به دست می آید {ph3}، "
|
||
"در نتایج callee REA شناسایی شده است. C نتیجه را به {ph4}; مقایسه های "
|
||
"اصلی-x86 مقدار برگشت داده شده را بررسی کنید."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:550
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The assembly excerpt selects the input, arithmetic and return instructions. "
|
||
"The full listing below also includes the intervening stores and function "
|
||
"setup and cleanup."
|
||
msgstr ""
|
||
"گزیده مونتاژ دستورالعمل های ورودی ، ریاضی و بازگشت را انتخاب می کند. لیست "
|
||
"کامل زیر همچنین شامل فروشگاه های مداخله کننده و تنظیم و تمیز کردن عملکرد "
|
||
"است."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:556
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Full assembly and supporting evidence"
|
||
msgstr "تجمع کامل و شواهد حمایتی"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:559
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "REA result · 0x406400–0x40643e"
|
||
msgstr "نتیجه REA · 0x406400-0x40643e"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:593
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "What the caller supplies"
|
||
msgstr "آنچه تماس گیرنده ارائه می دهد"
|
||
|
||
#. {ph0}: <code>0x411f40</code>
|
||
#: website/public/showcase/dx-ball/index.html:594
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The brick-hit function at {ph0} scales its tile coordinate by 30, adds 20, "
|
||
"then pushes it before the call:"
|
||
msgstr ""
|
||
"عملکرد ضربه آجر در {ph0} مختصات کاشی خود را با 30 مقیاس می دهد ، 20 را اضافه"
|
||
" می کند ، سپس قبل از تماس آن را فشار می دهد:"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:608
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "What the data reads establish"
|
||
msgstr "آنچه داده ها می خوانند تعیین می کنند"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:611
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "REA byte reads, decoded as little-endian doubles"
|
||
msgstr "REA بایت می خواند ، رمزگشایی به عنوان دو برابر کمی-اندیان"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:616
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Address"
|
||
msgstr "آدرس"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:617
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Value"
|
||
msgstr "ارزش"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:618
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Used for"
|
||
msgstr "مورد استفاده برای"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:625
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "First multiplication"
|
||
msgstr "ضرب اول"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:630
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Subtraction"
|
||
msgstr "تفریق"
|
||
|
||
#. {ph0}: <code>1.0</code>
|
||
#: website/public/showcase/dx-ball/index.html:634
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0} initially"
|
||
msgstr "{ph0} در ابتدا"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:635
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Stored pan scale"
|
||
msgstr "مقیاس پان ذخیره شده"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:640
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"Recorded with REA 4.1.0 for the hash-pinned DX-Ball 1.07 target. The linked "
|
||
"investigation notes retain the Evidence IDs."
|
||
msgstr ""
|
||
"ضبط شده با REA 4.1.0 برای هش پین DX-Ball 1.07 هدف. یادداشت های تحقیق مرتبط "
|
||
"شناسه های شواهد را حفظ می کنند."
|
||
|
||
#. {ph0}: <a href="https://github.com/N0zoM1z0/dx-
|
||
#. ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/src/gameplay.c#L41" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="https://github.com/N0zoM1z0/dx-
|
||
#. ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/docs/GAMEPLAY_OWNER.md"
|
||
#. >
|
||
#. {ph3}: </a >
|
||
#: website/public/showcase/dx-ball/index.html:645
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"{ph0}Maintained source{ph1} · {ph2}Investigation notes and evidence "
|
||
"references{ph3}"
|
||
msgstr "{ph0}منبع نگهداری شده{ph1} · {ph2}یادداشت های تحقیق و مرجع شواهد{ph3}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:659
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Checking the recovered function"
|
||
msgstr "بررسی عملکرد بازیابی شده"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:660
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The recovered function passes two checks: its return values match the "
|
||
"original, and its compiled bytes match the executable."
|
||
msgstr ""
|
||
"تابع بازیابی شده دو چک را می گذراند: مقادیر بازگشت آن با اصل مطابقت دارد و "
|
||
"بایت های کامپایل شده آن با فایل اجرایی مطابقت دارند."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:666
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "3,205 behavior cases"
|
||
msgstr "3205 مورد رفتار"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:667
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The tests execute the original x86 function and compare its return value "
|
||
"with the maintained C. They cover every integer position from 0 to 640 at "
|
||
"five pan scales: 0, 0.5, 1, 20 and −1."
|
||
msgstr ""
|
||
"تست ها تابع اصلی x86 را اجرا می کنند و مقدار بازگشت آن را با C حفظ شده "
|
||
"مقایسه می کنند.آنها هر موقعیت عدد صحیح را از 0 تا 640 در پنج مقیاس پان پوشش "
|
||
"می دهند: 0 ، 0.5 ، 1 ، 20 و -1."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:675
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "63 matching bytes"
|
||
msgstr "63 باایت تطبیق"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:676
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The C function is compiled with the pinned VC4.0 toolchain. Compiler replay "
|
||
"matches the complete function after applying the reviewed relocations and "
|
||
"checking the referenced constants."
|
||
msgstr ""
|
||
"تابع C با زنجیره ابزار vc4.0 پین شده کامپایل شده است. پخش مجدد کامپایلر با "
|
||
"عملکرد کامل پس از اعمال جابجایی های بررسی شده و بررسی ثابت های مرجع مطابقت "
|
||
"دارد."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:684
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"At a scale of 1, the recovered calculation returns −500 at the left edge, 0 "
|
||
"at the center and 500 at the right edge. The next part of the audio work is "
|
||
"integrating that value with the game's sound backend."
|
||
msgstr ""
|
||
"در مقیاس 1 ، محاسبه بازیابی شده -500 در لبه چپ ، 0 در مرکز و 500 در لبه راست"
|
||
" را باز می گرداند. بخش بعدی کار صوتی ادغام این مقدار با پشتیبان صدا بازی "
|
||
"است."
|
||
|
||
#. {ph0}: <a href="https://github.com/N0zoM1z0/dx-
|
||
#. ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/docs/BUILD_MATCHING.md"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/dx-ball/index.html:690
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "{ph0}Read the compiler replay details{ph1}"
|
||
msgstr "{ph0}جزئیات پخش کامپایلر را بخوانید{ph1}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:699
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Continue the investigation"
|
||
msgstr "ادامه تحقیقات"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:700
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"The same approach is being used for particle updates, explosion queues and "
|
||
"bonus generation: inspect the relevant functions, recover their state and "
|
||
"dependencies, then compare the implementation with the original."
|
||
msgstr ""
|
||
"همان رویکرد برای به روز رسانی ذرات ، صف های انفجار و تولید پاداش استفاده می "
|
||
"شود: عملکردهای مربوطه را بررسی کنید ، وضعیت و وابستگی های آنها را بازیابی "
|
||
"کنید ، سپس پیاده سازی را با اصلی مقایسه کنید."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:706
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"To inspect the sound-pan function yourself, follow the DX-Ball project's "
|
||
"setup instructions and supply its matching original target. Then run:"
|
||
msgstr ""
|
||
"برای بررسی عملکرد پان صدا خودتان ، دستورالعمل های راه اندازی پروژه DX-Ball "
|
||
"را دنبال کنید و هدف اصلی تطبیق یافته آن را ارائه دهید. سپس اجرا کنید:"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:713
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "In the DX-Ball checkout"
|
||
msgstr "در پرداخت DX-Ball"
|
||
|
||
#. {ph0}: <a href="https://github.com/N0zoM1z0/dx-ball" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span>
|
||
#. {ph3}: </span>
|
||
#: website/public/showcase/dx-ball/index.html:727
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"{ph0}DX-Ball repository{ph1}{ph2}Current source, progress and local "
|
||
"setup.{ph3}"
|
||
msgstr ""
|
||
"{ph0} مخزن DX-Ball{ph1}{ph2}منبع فعلی ، پیشرفت و راه اندازی محلی.{ph3}"
|
||
|
||
#. {ph0}: <a href="../../guides/native/">
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/showcase/dx-ball/index.html:732
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"{ph0}REA analysis workflow{ph1}{ph2}Follow the calculation, then use the "
|
||
"same approach with your own binary.{ph3}"
|
||
msgstr ""
|
||
"{ph0} گردش کار تجزیه و تحلیل REA{ph1}{ph2}محاسبه را دنبال کنید ، سپس از همان"
|
||
" رویکرد با باینری خود استفاده کنید.{ph3}"
|
||
|
||
#. {ph0}: <a href="https://github.com/N0zoM1z0/dx-
|
||
#. ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/docs/ENTITIES_OWNER.md"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/showcase/dx-ball/index.html:739
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"{ph0}Particles and bonus production{ph1}{ph2}A larger investigation into "
|
||
"state, queues and pixel writes.{ph3}"
|
||
msgstr ""
|
||
"{ph0}ذرات و تولید پاداش{ph1}{ph2}یک تحقیق بزرگتر در مورد وضعیت ، صف ها و "
|
||
"پیکسل می نویسد.{ph3}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:6
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "DX-Ball Reverse Engineering: Sound Panning — REA"
|
||
msgstr "DX-Ball مهندسی معکوس: پانینگ صدا-REA"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:7
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"Follow a DX-Ball reconstruction from binary analysis through REA to "
|
||
"maintained C, original-x86 tests and matching compiled function bytes."
|
||
msgstr ""
|
||
"بازسازی DX-Ball را از تجزیه و تحلیل باینری از طریق REA به تست های c ، "
|
||
"original-x86 و تطبیق بایت های تابع کامپایل شده دنبال کنید."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:193
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"DX-Ball sound-pan investigation; scroll horizontally on smaller screens"
|
||
msgstr ""
|
||
"DX-Ball تحقیق صدا-پان; به صورت افقی روی صفحه نمایش های کوچکتر حرکت کنید"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:199
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid ""
|
||
"DXBALL.EXE function 0x00406400 is inspected with REA. A brick-hit caller "
|
||
"supplies 20 plus 30 times tile_x. Instructions load x, multiply by 1.5625, "
|
||
"subtract 500.0, apply pan_scale and return an integer. The maintained C is "
|
||
"checked independently against the original x86 in 3,205 cases and by VC4.0 "
|
||
"compiler replay matching 63 bytes."
|
||
msgstr ""
|
||
"DXBALL.تابع EXE 0x00406400 با REA بازرسی می شود . یک تماس گیرنده با آجر 20 "
|
||
"به علاوه 30 بار tile_x را تامین می کند.دستورالعمل ها x را بارگذاری می کنند ،"
|
||
" با 1.5625 ضرب می کنند ، 500.0 را کم می کنند ، pan_scale را اعمال می کنند و "
|
||
"یک عدد صحیح را باز می گردانند. C نگهداری شده به طور مستقل با x86 اصلی در "
|
||
"3205 مورد و توسط vc4.0 compiler replay که با 63 بایت مطابقت دارد ، بررسی می "
|
||
"شود."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:217
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:226
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "DX-Ball reconstruction case study"
|
||
msgstr "مطالعه موردی بازسازی DX-Ball"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:277
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Copy example prompt"
|
||
msgstr "کپی مثال prompt"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:418
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Follow the sound-pan calculation"
|
||
msgstr "محاسبه موقعیت صدا چپ / راست را دنبال کنید"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:468
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Copy original assembly excerpt"
|
||
msgstr "کپی گزیده اصلی مونتاژ"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:489
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Copy sound-pan function"
|
||
msgstr "کپی تابع صدا-پان"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:560
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Copy complete sound-pan assembly"
|
||
msgstr "کپی کامل مونتاژ پان صدا"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:714
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Copy DX-Ball analysis command"
|
||
msgstr "دستور تجزیه و تحلیل DX-Ball را کپی کنید"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:772
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/showcase/index.html:99
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "{ph0}Home{ph1} / Showcases"
|
||
msgstr "{ph0}خانه{ph1} / ویترین ها"
|
||
|
||
#: website/public/showcase/index.html:182
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "REA case studies."
|
||
msgstr "مطالعات موردی REA."
|
||
|
||
#: website/public/showcase/index.html:183
|
||
msgctxt "page:showcase/index.html"
|
||
msgid ""
|
||
"Android, games, Electron and a CTF challenge, with code, figures and checked"
|
||
" results."
|
||
msgstr ""
|
||
"اندروید ، بازی ، Electron و یک چالش CTF ، با کد ، ارقام و نتایج بررسی شده."
|
||
|
||
#: website/public/showcase/index.html:190
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Android · APK analysis"
|
||
msgstr "Android * تجزیه و تحلیل APK"
|
||
|
||
#: website/public/showcase/index.html:192
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "How an authenticator generates a login code"
|
||
msgstr "چگونه یک احراز هویت یک کد ورود را تولید می کند"
|
||
|
||
#: website/public/showcase/index.html:193
|
||
msgctxt "page:showcase/index.html"
|
||
msgid ""
|
||
"Find Aegis's six-digit code calculation in its released APK. Trace the "
|
||
"generating methods with REA, then move a demo clock to see why the code "
|
||
"changes every 30 seconds."
|
||
msgstr ""
|
||
"محاسبه کد شش رقمی Aegis را در APK منتشر شده خود پیدا کنید . روش های تولید را"
|
||
" با REA ردیابی کنید ، سپس یک ساعت نمایشی را حرکت دهید تا ببینید چرا کد هر 30"
|
||
" ثانیه تغییر می کند."
|
||
|
||
#: website/public/showcase/index.html:204
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the Android case study"
|
||
msgstr "مطالعه موردی اندروید را بخوانید"
|
||
|
||
#: website/public/showcase/index.html:208
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "CTF · Native analysis"
|
||
msgstr "Ctf * تجزیه و تحلیل برنامه های کد ماشین"
|
||
|
||
#: website/public/showcase/index.html:210
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Solve a CTF flag checker"
|
||
msgstr "یک چک کننده پرچم CTF را حل کنید"
|
||
|
||
#: website/public/showcase/index.html:211
|
||
msgctxt "page:showcase/index.html"
|
||
msgid ""
|
||
"Inspect an easy DownUnderCTF challenge with REA. Find its checking "
|
||
"functions, turn masks and sums into equations, then verify the solved flag "
|
||
"with the original program."
|
||
msgstr ""
|
||
"بازرسی یک چالش downunderctf آسان با REA . توابع چک کردن آن را پیدا کنید ، "
|
||
"ماسک ها و جمع ها را به معادلات تبدیل کنید ، سپس پرچم حل شده را با برنامه "
|
||
"اصلی تأیید کنید."
|
||
|
||
#: website/public/showcase/index.html:222
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the CTF case study"
|
||
msgstr "مطالعه موردی CTF را بخوانید"
|
||
|
||
#: website/public/showcase/index.html:226
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Native · Reconstruction"
|
||
msgstr "بومی * بازسازی"
|
||
|
||
#: website/public/showcase/index.html:228
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "DX-Ball's sound-pan calculation"
|
||
msgstr "محاسبه DX-Ball از سمت چپ / راست موقعیت صدا"
|
||
|
||
#: website/public/showcase/index.html:229
|
||
msgctxt "page:showcase/index.html"
|
||
msgid ""
|
||
"Recover a sound-pan calculation from a 1996 Windows game. REA's "
|
||
"instructions, caller references and numeric constants lead to a small C "
|
||
"function, checked against the original behavior and all 63 compiled bytes."
|
||
msgstr ""
|
||
"بازیابی محاسبه موقعیت صدا چپ/راست از یک بازی Windows 1996. دستورالعمل های "
|
||
"REA ، مرجع های تماس گیرنده و ثابت های عددی منجر به یک تابع C کوچک می شود که "
|
||
"با رفتار اصلی و تمام 63 بایت کامپایل شده بررسی می شود."
|
||
|
||
#: website/public/showcase/index.html:241
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the DX-Ball case study"
|
||
msgstr "مطالعه موردی DX-Ball را بخوانید"
|
||
|
||
#: website/public/showcase/index.html:245
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Electron · Feature tracing"
|
||
msgstr "Electron * ردیابی ویژگی"
|
||
|
||
#: website/public/showcase/index.html:247
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "How Notion copies text and HTML"
|
||
msgstr "چگونه Notion متن و HTML را کپی می کند"
|
||
|
||
#: website/public/showcase/index.html:248
|
||
msgctxt "page:showcase/index.html"
|
||
msgid ""
|
||
"Trace a page-facing API through Notion's packaged JavaScript. Follow its IPC"
|
||
" wrappers to the system clipboard, then see how a small HTML marker keeps "
|
||
"rich block data connected to a copy."
|
||
msgstr ""
|
||
"ردیابی یک API رو به صفحه از طریق Notion بسته بندی JavaScript. بسته بندی های "
|
||
"IPC آن را به کلیپ بورد سیستم دنبال کنید ، سپس ببینید که چگونه یک نشانگر HTML"
|
||
" کوچک داده های بلوک غنی را به یک کپی متصل می کند."
|
||
|
||
#: website/public/showcase/index.html:259
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the Notion case study"
|
||
msgstr "مطالعه موردی Notion را بخوانید"
|
||
|
||
#: website/public/showcase/index.html:263
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "PC-98 DOS · Reconstruction"
|
||
msgstr "PC-98 DOS * بازسازی"
|
||
|
||
#: website/public/showcase/index.html:265
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "How TH04 aims a ring of bullets"
|
||
msgstr "چگونه TH04 یک حلقه گلوله را هدف قرار می دهد"
|
||
|
||
#: website/public/showcase/index.html:266
|
||
msgctxt "page:showcase/index.html"
|
||
msgid ""
|
||
"Inspect the original 16-bit angle helper with REA. Match its multiply, "
|
||
"divide and coordinate operations to readable C++, then see how they produce "
|
||
"a ring aimed at the player."
|
||
msgstr ""
|
||
"یاور زاویه اصلی 16 بیتی را با REA بازرسی کنید . عملیات ضرب ، تقسیم و هماهنگی"
|
||
" آن را با c++ قابل خواندن مطابقت دهید ، سپس ببینید که چگونه آنها یک حلقه را "
|
||
"برای بازیکن تولید می کنند."
|
||
|
||
#: website/public/showcase/index.html:277
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the TH04 case study"
|
||
msgstr "مطالعه موردی TH04 را بخوانید"
|
||
|
||
#: website/public/showcase/index.html:282
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Step-by-step guides"
|
||
msgstr "راهنماهای گام به گام"
|
||
|
||
#: website/public/showcase/index.html:283
|
||
msgctxt "page:showcase/index.html"
|
||
msgid ""
|
||
"The guides walk through a native calculation, an Electron export and a "
|
||
"browser request. Each starts with a prompt and a concrete target."
|
||
msgstr ""
|
||
"راهنماها از طریق یک محاسبه بومی ، یک صادرات Electron و یک درخواست مرورگر قدم"
|
||
" می زنند. هر کدام با یک هدف و یک هدف مشخص شروع می شود."
|
||
|
||
#: website/public/showcase/index.html:287
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the guides"
|
||
msgstr "راهنماها را بخوانید"
|
||
|
||
#: website/public/showcase/index.html:6
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Reverse Engineering Case Studies — REA"
|
||
msgstr "مطالعات موردی مهندسی معکوس-REA"
|
||
|
||
#: website/public/showcase/index.html:7
|
||
msgctxt "page:showcase/index.html"
|
||
msgid ""
|
||
"Follow REA investigations through code, figures and demos: an Android "
|
||
"authenticator, DX-Ball, Notion, TH04 and a DownUnderCTF flag checker."
|
||
msgstr ""
|
||
"تحقیقات REA را از طریق کد ، ارقام و نمایشی دنبال کنید: یک احراز هویت Android"
|
||
" ، DX-Ball ، Notion ، TH04 و یک چک کننده پرچم DownUnderCTF."
|
||
|
||
#: website/public/showcase/index.html:304
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/showcase/notion/index.html:99
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../../">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="../">
|
||
#. {ph3}: </a>
|
||
#: website/public/showcase/notion/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / Notion"
|
||
msgstr "{ph0}خانه{ph1} / {ph2}ویترین ها{ph3} / Notion"
|
||
|
||
#: website/public/showcase/notion/index.html:184
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Case study · Electron"
|
||
msgstr "مطالعه موردی * Electron"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/showcase/notion/index.html:185
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "How Notion copies{ph0}text and HTML."
|
||
msgstr "چگونه Notion کپی{ph0}متن و HTML."
|
||
|
||
#: website/public/showcase/notion/index.html:186
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"Trace a clipboard call from Notion's page API, through the preload and main "
|
||
"process, to Electron's clipboard writer."
|
||
msgstr ""
|
||
"یک تماس کلیپ بورد از API صفحه Notion را از طریق فرآیند پیش بارگذاری و اصلی "
|
||
"به نویسنده کلیپ بورد Electron ردیابی کنید."
|
||
|
||
#: website/public/showcase/notion/index.html:190
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Notion Desktop 7.6.1 · JavaScript · REA"
|
||
msgstr "Notion دسکتاپ 7.6.1 * JavaScript · REA"
|
||
|
||
#: website/public/showcase/notion/index.html:194
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "The bridge inside Notion's desktop package"
|
||
msgstr "پل داخل بسته دسکتاپ Notion"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span>
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: <code>clipboard.write(data)</code>
|
||
#. {ph4}: </span>
|
||
#. {ph5}: <span class="flow-note" >
|
||
#. {ph6}: </span >
|
||
#: website/public/showcase/notion/index.html:196
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"{ph0}01 · Page-facing API{ph1} {ph2}{ph3}{ph4} {ph5}The preload exposes a "
|
||
"callable method.{ph6}"
|
||
msgstr ""
|
||
"{ph0}01 * api رو به صفحه{ph1} {ph2}{ph3}{ph4} {ph5}پیش بارگذاری یک روش قابل "
|
||
"فراخوان را نشان می دهد.{ph6}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span>
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: <code>ipcRenderer.invoke</code>
|
||
#. {ph4}: </span>
|
||
#. {ph5}: <span class="flow-note" >
|
||
#. {ph6}: </span >
|
||
#: website/public/showcase/notion/index.html:203
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"{ph0}02 · Preload wrapper{ph1} {ph2}{ph3}{ph4} {ph5}The wrapper sends the "
|
||
"channel and arguments.{ph6}"
|
||
msgstr ""
|
||
"{ph0}02 * بسته بندی پیش بار{ph1} {ph2}{ph3}{ph4} {ph5}بسته بندی کانال و "
|
||
"استدلال ها را ارسال می کند.{ph6}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span>
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: <code>ipcMain.handle</code>
|
||
#. {ph4}: </span>
|
||
#. {ph5}: <span class="flow-note" >
|
||
#. {ph6}: </span >
|
||
#: website/public/showcase/notion/index.html:210
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"{ph0}03 · Main-process handler{ph1} {ph2}{ph3}{ph4} {ph5}The receiver checks"
|
||
" which page sent it.{ph6}"
|
||
msgstr ""
|
||
"{ph0}03 · کنترل کننده فرآیند اصلی{ph1} {ph2}{ph3}{ph4} {ph5}گیرنده چک می کند"
|
||
" که کدام صفحه آن را ارسال کرده است.{ph6}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span>
|
||
#. {ph2}: <span class="flow-node">
|
||
#. {ph3}: <code>clipboard.write(data)</code>
|
||
#. {ph4}: </span>
|
||
#. {ph5}: <span class="flow-note" >
|
||
#. {ph6}: </span >
|
||
#: website/public/showcase/notion/index.html:217
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"{ph0}04 · System clipboard{ph1} {ph2}{ph3}{ph4} {ph5}Electron writes the "
|
||
"supplied text and HTML.{ph6}"
|
||
msgstr ""
|
||
"{ph0}04 * کلیپ بورد سیستم{ph1} {ph2}{ph3}{ph4} {ph5} Electron متن و HTML "
|
||
"ارائه شده را می نویسد.{ph6}"
|
||
|
||
#. {ph0}: <code class="notion-channel">notion:clipboard:write</code>
|
||
#: website/public/showcase/notion/index.html:225
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "One channel joins the two sides: {ph0}"
|
||
msgstr "یک کانال به دو طرف می پیوندد: {ph0}"
|
||
|
||
#: website/public/showcase/notion/index.html:229
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"The packaged code uses the same channel in the preload and main process. "
|
||
"Resolving the wrappers reveals the Electron calls behind those names."
|
||
msgstr ""
|
||
"کد بسته بندی شده از همان کانال در فرآیند پیش بارگذاری و اصلی استفاده می کند."
|
||
" حل کردن بسته بندی ها نشان می دهد که Electron پشت این نام ها صدا می زند."
|
||
|
||
#: website/public/showcase/notion/index.html:238
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "In this case study"
|
||
msgstr "در این مطالعه موردی"
|
||
|
||
#. {ph0}: <a href="#clipboard">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/notion/index.html:240
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "{ph0}Follow the clipboard bridge{ph1}"
|
||
msgstr "{ph0}پل کلیپ بورد را دنبال کنید{ph1}"
|
||
|
||
#. {ph0}: <a href="#rich-clipboard">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/notion/index.html:241
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "{ph0}Keeping a block's structure{ph1}"
|
||
msgstr "{ph0}حفظ ساختار یک بلوک{ph1}"
|
||
|
||
#. {ph0}: <a href="#continue">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/notion/index.html:242
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "{ph0}More examples and sources{ph1}"
|
||
msgstr "{ph0}نمونه ها و منابع بیشتر{ph1}"
|
||
|
||
#: website/public/showcase/notion/index.html:247
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Where does the copy operation go?"
|
||
msgstr "عملیات کپی به کجا می رود ؟"
|
||
|
||
#. {ph0}: <code>clipboard.write</code>
|
||
#: website/public/showcase/notion/index.html:248
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"The page sees a method called {ph0}. Its implementation in the preload is a "
|
||
"wrapper. The useful question is what that wrapper sends, and which code "
|
||
"receives it."
|
||
msgstr ""
|
||
"صفحه یک روش به نام {ph0}. پیاده سازی آن در پیش بارگذاری یک بسته بندی است. "
|
||
"سوال مفید این است که این بسته بندی چه چیزی را می فرستد و کدام کد آن را "
|
||
"دریافت می کند."
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/showcase/notion/index.html:255
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#: website/public/showcase/notion/index.html:259
|
||
#: website/public/showcase/notion/index.html:332
|
||
#: website/public/showcase/notion/index.html:361
|
||
#: website/public/showcase/notion/index.html:392
|
||
#: website/public/showcase/notion/index.html:420
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="notion-prompt" >
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph5}: </span>
|
||
#: website/public/showcase/notion/index.html:268
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to trace how Notion copies text and HTML to the "
|
||
"system clipboard. Show the code at each step.{ph3}{ph4}{ph5}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}از REA برای ردیابی نحوه کپی متن و HTML Notion در کلیپ بورد "
|
||
"سیستم استفاده کنید. کد را در هر مرحله نشان دهید.{ph3}{ph4}{ph5}"
|
||
|
||
#: website/public/showcase/notion/index.html:276
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"An example prompt with Notion's local application package available to your "
|
||
"coding agent."
|
||
msgstr "یک مثال با بسته برنامه محلی Notion در دسترس برنامه نویس شما."
|
||
|
||
#: website/public/showcase/notion/index.html:281
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "REA finds where to start reading"
|
||
msgstr "REA می یابد که از کجا شروع به خواندن"
|
||
|
||
#: website/public/showcase/notion/index.html:282
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"Analyzing the tab preload with REA locates the API exposed to the page and "
|
||
"the call that sends an IPC request. Both findings come with source ranges in"
|
||
" the minified bundle:"
|
||
msgstr ""
|
||
"تجزیه و تحلیل پیش بارگذاری برگه با REA API را در معرض صفحه و فراخوانی که "
|
||
"درخواست IPC را ارسال می کند قرار می دهد. هر دو یافته با محدوده منبع در بسته "
|
||
"کوچک شده همراه است:"
|
||
|
||
#: website/public/showcase/notion/index.html:288
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "REA findings → two places to open"
|
||
msgstr "یافته های REA → دو مکان برای باز کردن"
|
||
|
||
#. {ph0}: <code>analyze_javascript_application</code>
|
||
#: website/public/showcase/notion/index.html:303
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"Selected fields from a fresh {ph0} result on Notion's tab preload, recorded "
|
||
"with REA 4.1.0. Positions use the original bundle's line and zero-based "
|
||
"column."
|
||
msgstr ""
|
||
"زمینه های انتخاب شده از یک تازه {ph0} نتیجه در Notion ' s tab preload ، ضبط "
|
||
"شده با REA 4.1.0. موقعیت ها از خط اصلی بسته و ستون صفر استفاده می کنند."
|
||
|
||
#. {ph0}: <code>invokerInMain</code>
|
||
#. {ph1}: <code class="notion-channel">notion:clipboard:write</code>
|
||
#: website/public/showcase/notion/index.html:310
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"The agent opens those locations, finds the clipboard member in the assembled"
|
||
" API, and reads {ph0}. Its call site supplies {ph1}. That name gives the "
|
||
"agent something precise to look for in the main bundle. The four excerpts "
|
||
"below show the route it connects."
|
||
msgstr ""
|
||
"نماینده این مکان ها را باز می کند ، عضو کلیپ بورد را در API مونتاژ شده پیدا "
|
||
"می کند و می گوید {ph0}. لوازم سایت تماس با ما {ph1}. اين اسم به مامور يه چيز"
|
||
" دقيقي ميده که بايد در بسته اصلي دنبالش بگرده چهار بخش زیر مسیر اتصال آن را "
|
||
"نشان می دهد."
|
||
|
||
#: website/public/showcase/notion/index.html:319
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Four short pieces of code"
|
||
msgstr "چهار قطعه کد کوتاه"
|
||
|
||
#: website/public/showcase/notion/index.html:320
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"Simplified from the packaged JavaScript, with readable variable names. "
|
||
"Unrelated members are omitted."
|
||
msgstr ""
|
||
"ساده شده از JavaScript بسته بندی شده ، با نام متغیر قابل خواندن. اعضای غیر "
|
||
"مرتبط حذف می شوند."
|
||
|
||
#: website/public/showcase/notion/index.html:326
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Start at the API exposed to the page"
|
||
msgstr "از API در معرض صفحه شروع کنید"
|
||
|
||
#. {ph0}: <code>invokerInMain</code>
|
||
#: website/public/showcase/notion/index.html:348
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"This member supplies the channel name. The implementation of {ph0} tells us "
|
||
"how the request leaves the page's process."
|
||
msgstr ""
|
||
"این عضو نام کانال را ارائه می دهد. اجرای {ph0} به ما می گوید که چگونه "
|
||
"درخواست از روند صفحه خارج می شود."
|
||
|
||
#: website/public/showcase/notion/index.html:355
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Resolve the preload's wrapper"
|
||
msgstr "بسته بندی پیش بارگذاری را حل کنید"
|
||
|
||
#. {ph0}: <code class="notion-channel">notion:clipboard:write</code>
|
||
#: website/public/showcase/notion/index.html:378
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"The returned function forwards the arguments through Electron's request-and-"
|
||
"response IPC. We can now look for {ph0} on the main-process side."
|
||
msgstr ""
|
||
"تابع بازگردانده شده آرگومنت ها را از طریق IPC درخواست و پاسخ Electron ارسال "
|
||
"می کند. حالا می تونیم دنبالش بگردیم {ph0} در سمت اصلی فرآیند."
|
||
|
||
#: website/public/showcase/notion/index.html:386
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Check how the receiver is registered"
|
||
msgstr "نحوه ثبت نام گیرنده را بررسی کنید"
|
||
|
||
#. {ph0}: <code>addListener</code>
|
||
#. {ph1}: <code>ipcMain.handle</code>
|
||
#: website/public/showcase/notion/index.html:407
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"The main process uses another wrapper. Its {ph0} method registers an {ph1} "
|
||
"receiver for that channel."
|
||
msgstr ""
|
||
"فرآیند اصلی از یک بسته بندی دیگر استفاده می کند. اون {ph0} روش ثبت یک {ph1} "
|
||
"گیرنده برای اون کانال"
|
||
|
||
#: website/public/showcase/notion/index.html:414
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Find the write and its sender check"
|
||
msgstr "نوشتن و چک فرستنده آن را پیدا کنید"
|
||
|
||
#: website/public/showcase/notion/index.html:437
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"This is the destination. After checking the sender, the handler passes the "
|
||
"supplied data to Electron's clipboard API. The channel and the two resolved "
|
||
"wrappers connect the exposed method to this call."
|
||
msgstr ""
|
||
"این مقصد است. پس از بررسی فرستنده ، کنترل کننده داده های ارائه شده را به API"
|
||
" کلیپ بورد Electron منتقل می کند. کانال و دو بسته بندی حل شده روش در معرض را"
|
||
" به این تماس متصل می کنند."
|
||
|
||
#: website/public/showcase/notion/index.html:448
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "How does a copied block keep its structure?"
|
||
msgstr "بلوک کپی شده چگونه ساختار خود را حفظ می کند ؟"
|
||
|
||
#. {ph0}: <code>electronApi.clipboard.write</code>
|
||
#: website/public/showcase/notion/index.html:449
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"Notion's web editor sends text and HTML through {ph0}. It keeps the block "
|
||
"data locally and puts an ID in the copied HTML to connect them."
|
||
msgstr ""
|
||
"ویرایشگر وب Notion متن و HTML را از طریق {ph0}. این داده های بلوک را به صورت"
|
||
" محلی نگه می دارد و یک ID را در HTML کپی شده برای اتصال آنها قرار می دهد."
|
||
|
||
#: website/public/showcase/notion/index.html:455
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "HTML links to saved block data"
|
||
msgstr "لینک های HTML برای ذخیره داده های بلوک"
|
||
|
||
#: website/public/showcase/notion/index.html:479
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Read the HTML ID"
|
||
msgstr "شناسه HTML را بخوانید"
|
||
|
||
#: website/public/showcase/notion/index.html:480
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Find the same local ID"
|
||
msgstr "همان شناسه محلی را پیدا کنید"
|
||
|
||
#: website/public/showcase/notion/index.html:481
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Restore Notion block data"
|
||
msgstr "بازیابی داده های بلوک Notion"
|
||
|
||
#: website/public/showcase/notion/index.html:483
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"Illustrative text and ID. The recorded module test restores the block data "
|
||
"when IDs match; a stale entry returns only text and HTML."
|
||
msgstr ""
|
||
"متن تصویری و شناسنامه. تست ماژول ضبط شده داده های بلوک را هنگام مطابقت IDs "
|
||
"بازیابی می کند ؛ یک ورودی قدیمی فقط متن و HTML را باز می گرداند."
|
||
|
||
#: website/public/showcase/notion/index.html:489
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"On paste, Notion looks for the HTML ID and checks it against the saved copy."
|
||
" Matching IDs restore the block data."
|
||
msgstr ""
|
||
"در paste ، Notion به دنبال شناسه HTML است و آن را با نسخه ذخیره شده بررسی می"
|
||
" کند. تطبیق شناسه بازیابی داده های بلوک."
|
||
|
||
#: website/public/showcase/notion/index.html:493
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Clipboard format recorded from web assets cached on July 13, 2026."
|
||
msgstr ""
|
||
"فرمت کلیپ بورد ثبت شده از دارایی های وب در 13 ژوئیه 2026 ذخیره شده است."
|
||
|
||
#: website/public/showcase/notion/index.html:499
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "More examples and sources"
|
||
msgstr "نمونه ها و منابع بیشتر"
|
||
|
||
#: website/public/showcase/notion/index.html:501
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Another example: Markdown tables"
|
||
msgstr "مثال دیگر: جداول Markdown"
|
||
|
||
#: website/public/showcase/notion/index.html:502
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"Notion parses Markdown into block data. This example shows how a table "
|
||
"becomes header and data rows."
|
||
msgstr ""
|
||
"Notion تجزیه و تحلیل Markdown به داده های بلوک. این مثال نشان می دهد که "
|
||
"چگونه یک جدول به عنوان عنوان و ردیف داده تبدیل می شود."
|
||
|
||
#: website/public/showcase/notion/index.html:507
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "A table through Notion's Markdown parser"
|
||
msgstr "جدول از طریق تجزیه کننده Markdown Notion"
|
||
|
||
#: website/public/showcase/notion/index.html:528
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"Recorded output from an extracted Markdown parser. The table becomes rows "
|
||
"and cells."
|
||
msgstr ""
|
||
"خروجی ضبط شده از یک تجزیه کننده Markdown استخراج شده. جدول به ردیف ها و سلول"
|
||
" ها تبدیل می شود."
|
||
|
||
#: website/public/showcase/notion/index.html:535
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Another path: the offline SQLite connection"
|
||
msgstr "مسیر دیگر: اتصال آفلاین SQLite"
|
||
|
||
#. {ph0}: <code>getSqliteMeta</code>
|
||
#: website/public/showcase/notion/index.html:536
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"Notion's renderer requests {ph0} through IPC. The main process creates a "
|
||
"message channel and gives one port to the renderer and the other to a SQLite"
|
||
" utility process. Subsequent statement batches and results travel over that "
|
||
"port."
|
||
msgstr ""
|
||
"درخواست رندر Notion {ph0} از طریق IPC. فرآیند اصلی یک کانال پیام ایجاد می "
|
||
"کند و یک پورت به رندر و دیگری به یک فرآیند ابزار SQLite می دهد. دسته های "
|
||
"بیانیه های بعدی و نتایج از آن بندر عبور می کنند."
|
||
|
||
#: website/public/showcase/notion/index.html:542
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"Following this handoff explains where the database work runs, and why "
|
||
"tracing only the initial IPC request misses the later conversation."
|
||
msgstr ""
|
||
"پس از این انتقال توضیح می دهد که کار پایگاه داده کجا اجرا می شود و چرا "
|
||
"ردیابی تنها درخواست اولیه IPC مکالمه بعدی را از دست می دهد."
|
||
|
||
#: website/public/showcase/notion/index.html:549
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Sources and how to read the excerpts"
|
||
msgstr "منابع و نحوه خواندن گزیده ها"
|
||
|
||
#. {ph0}: <code>app.asar</code>
|
||
#. {ph1}: <code>main/index.js</code>
|
||
#. {ph2}: <code>isNotionWebContents</code>
|
||
#: website/public/showcase/notion/index.html:550
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"The clipboard bridge comes from Notion Desktop 7.6.1's {ph0}: the tab "
|
||
"preload and {ph1}. The excerpts expand minified variable names and omit "
|
||
"unrelated code; the sender-check helper is shown with its underlying {ph2} "
|
||
"call."
|
||
msgstr ""
|
||
"پل کلیپ بورد از دسکتاپ Notion 7.6.1 می آید {ph0}: پیش بارگذاری برگه و {ph1}."
|
||
" این گزیده ها نام های متغیر کوچک شده را گسترش می دهند و کد غیر مرتبط را حذف "
|
||
"می کنند ؛ کمک کننده چک فرستنده با زیربنای آن نشان داده شده است {ph2} تماس "
|
||
"بگیرید"
|
||
|
||
#. {ph0}: <code>747001</code>
|
||
#. {ph1}: <code>58169</code>
|
||
#. {ph2}: <code>736810</code>
|
||
#. {ph3}: <code>422457</code>
|
||
#: website/public/showcase/notion/index.html:558
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"The virtual clipboard and Markdown examples come from web assets cached on "
|
||
"July 13, 2026, including modules {ph0}, {ph1}, {ph2} and {ph3}. Those assets"
|
||
" have their own version. Saved probes executed extracted modules and small "
|
||
"harnesses; their outputs describe those probes rather than a captured "
|
||
"desktop UI session."
|
||
msgstr ""
|
||
"نمونه های کلیپ بورد مجازی و Markdown از دارایی های وب ذخیره شده در 13 ژوئیه "
|
||
"2026 ، از جمله ماژول ها می آیند {ph0}, {ph1}, {ph2} و {ph3}. اون دارایی ها "
|
||
"نسخه خودشون رو دارن پروب های ذخیره شده ماژول های استخراج شده و تسمه های کوچک"
|
||
" را اجرا می کنند ؛ خروجی های آنها این پروب ها را به جای یک جلسه رابط کاربری "
|
||
"دسکتاپ ضبط شده توصیف می کند."
|
||
|
||
#: website/public/showcase/notion/index.html:566
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"The REA result shown here is a focused analysis of the saved tab preload, "
|
||
"recorded with the published REA 4.1.0 package. It locates the API and invoke"
|
||
" operation. The clipboard member and matching receiver are connected by "
|
||
"reading their wrapper implementations in the package."
|
||
msgstr ""
|
||
"نتیجه REA که در اینجا نشان داده شده است ، تجزیه و تحلیل متمرکز از پیش "
|
||
"بارگذاری برگه ذخیره شده است که با بسته REA 4.1.0 منتشر شده ثبت شده است. API "
|
||
"را پیدا می کند و عملیات را فراخوانی می کند. عضو کلیپ بورد و گیرنده تطبیق با "
|
||
"خواندن پیاده سازی های بسته بندی خود در بسته متصل می شوند."
|
||
|
||
#. {ph0}: <code>422457</code>
|
||
#: website/public/showcase/notion/index.html:573
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"The Markdown example uses parser module {ph0}. Saved module tests show that "
|
||
"both page and chat filters preserve this table. The paste/import, structured"
|
||
" Markdown and AI/chat parsers have separate entry points and intermediate "
|
||
"formats."
|
||
msgstr ""
|
||
"مثال Markdown از ماژول تجزیه کننده استفاده می کند {ph0}. تست های ماژول ذخیره"
|
||
" شده نشان می دهد که هر دو فیلتر صفحه و چت این جدول را حفظ می کنند. تجزیه "
|
||
"کننده های paste/import ، Structured Markdown و AI / chat دارای نقاط ورود "
|
||
"جداگانه و فرمت های متوسط هستند."
|
||
|
||
#. {ph0}: <a href="../../guides/javascript/" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/showcase/notion/index.html:581
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"{ph0}JavaScript application guide{ph1}{ph2}Follow a small Electron "
|
||
"application's export feature.{ph3}"
|
||
msgstr ""
|
||
"{ph0} راهنمای برنامه JavaScript{ph1}{ph2}ویژگی صادرات یک برنامه کوچک "
|
||
"Electron را دنبال کنید.{ph3}"
|
||
|
||
#. {ph0}: <a href="../dx-ball/">
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/showcase/notion/index.html:588
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"{ph0}DX-Ball reconstruction{ph1}{ph2}Follow native instructions to a checked"
|
||
" C function.{ph3}"
|
||
msgstr ""
|
||
"{ph0} بازسازی DX-Ball{ph1}{ph2}دستورالعمل های بومی را به یک تابع C چک شده "
|
||
"دنبال کنید.{ph3}"
|
||
|
||
#: website/public/showcase/notion/index.html:6
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Notion Electron Reverse Engineering: Clipboard — REA"
|
||
msgstr "Notion Electron مهندسی معکوس: کلیپ بورد-REA"
|
||
|
||
#: website/public/showcase/notion/index.html:7
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid ""
|
||
"Follow Notion's clipboard API through Electron's preload, IPC wrappers and "
|
||
"main process, with short code excerpts and a look at its rich clipboard "
|
||
"format."
|
||
msgstr ""
|
||
"API کلیپ بورد Notion را از طریق پیش بارگذاری ، بسته بندی IPC و فرآیند اصلی "
|
||
"Electron ، با گزیده های کوتاه کد و نگاهی به قالب کلیپ بورد غنی آن دنبال "
|
||
"کنید."
|
||
|
||
#: website/public/showcase/notion/index.html:237
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/showcase/notion/index.html:245
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Notion Electron case study"
|
||
msgstr "مطالعه موردی Notion Electron"
|
||
|
||
#: website/public/showcase/notion/index.html:259
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Copy Notion analysis prompt"
|
||
msgstr "کپی Notion تجزیه و تحلیل prompt"
|
||
|
||
#: website/public/showcase/notion/index.html:332
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Copy Notion preload excerpt"
|
||
msgstr "کپی Notion پیش بارگذاری گزیده"
|
||
|
||
#: website/public/showcase/notion/index.html:361
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Copy Notion invoke wrapper excerpt"
|
||
msgstr "کپی Notion فراخوان گزیده بسته بندی"
|
||
|
||
#: website/public/showcase/notion/index.html:392
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Copy Notion handler wrapper excerpt"
|
||
msgstr "کپی Notion handler wrapper گزیده"
|
||
|
||
#: website/public/showcase/notion/index.html:420
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Copy Notion clipboard receiver excerpt"
|
||
msgstr "کپی Notion کلیپ بورد گیرنده گزیده"
|
||
|
||
#: website/public/showcase/notion/index.html:475
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Restoring rich clipboard data on paste"
|
||
msgstr "بازیابی اطلاعات غنی کلیپ بورد در paste"
|
||
|
||
#: website/public/showcase/notion/index.html:618
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/showcase/th04/index.html:99
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "پرش به محتوا"
|
||
|
||
#. {ph0}: <a href="../../">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="../">
|
||
#. {ph3}: </a>
|
||
#: website/public/showcase/th04/index.html:181
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / TH04"
|
||
msgstr "{ph0}خانه{ph1} / {ph2}ویترین ها{ph3} / TH04"
|
||
|
||
#: website/public/showcase/th04/index.html:184
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Case study · Touhou 4: Lotus Land Story"
|
||
msgstr "مطالعه موردی * Touhou 4: داستان سرزمین لوتوس"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/showcase/th04/index.html:185
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Reconstructing TH04's{ph0}bullet patterns."
|
||
msgstr "بازسازی TH04{ph0}الگوهای گلوله."
|
||
|
||
#: website/public/showcase/th04/index.html:186
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"A ring of bullets starts with a short angle calculation. Use REA to inspect "
|
||
"the original DOS function, then follow its instructions into readable C++."
|
||
msgstr ""
|
||
"یک حلقه گلوله با یک محاسبه زاویه کوتاه شروع می شود. از REA برای بازرسی تابع "
|
||
"dos اصلی استفاده کنید ، سپس دستورالعمل های آن را به C read قابل خواندن دنبال"
|
||
" کنید."
|
||
|
||
#: website/public/showcase/th04/index.html:191
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "PC-98 · 16-bit DOS · C++ and assembly"
|
||
msgstr "PC-98 · 16 بیتی DOS · c++ و مونتاژ"
|
||
|
||
#: website/public/showcase/th04/index.html:192
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "View the TH04 reconstruction"
|
||
msgstr "بازسازی TH04 را مشاهده کنید"
|
||
|
||
#: website/public/showcase/th04/index.html:198
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "From original instructions to checked source"
|
||
msgstr "از دستورالعمل های اصلی تا منبع چک شده"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <strong class="flow-node">
|
||
#. {ph3}: </strong >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/showcase/th04/index.html:200
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}01 · Original game{ph1}{ph2}MAIN.EXE{ph3}{ph4}The PC-98 executable and "
|
||
"its bullet-angle helper.{ph5}"
|
||
msgstr ""
|
||
"{ph0}01 * بازی اصلی{ph1}{ph2}اصلی.EXE{ph3}{ph4}فایل اجرایی PC-98 و کمک کننده"
|
||
" زاویه گلوله آن.{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <strong class="flow-node">
|
||
#. {ph3}: </strong >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/showcase/th04/index.html:207
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}02 · Inspect with REA{ph1}{ph2}Instructions + "
|
||
"references{ph3}{ph4}Verify the loaded DOS code and read the angle "
|
||
"calculation from the executable.{ph5}"
|
||
msgstr ""
|
||
"{ph0}02 * با REA بازرسی کنید {ph1}{ph2}دستورالعمل ها + مرجع{ph3}{ph4}کد dos "
|
||
"بارگذاری شده را تأیید کنید و محاسبه زاویه را از فایل اجرایی بخوانید.{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <strong class="flow-node">
|
||
#. {ph3}: </strong >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/showcase/th04/index.html:215
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}03 · Read the C++{ph1}{ph2}Space → aim → rotate{ph3}{ph4}Connect each "
|
||
"operation to the maintained reconstruction.{ph5}"
|
||
msgstr ""
|
||
"{ph0}03 * خواندن C++{ph1}{ph2}فضا → هدف → چرخش{ph3}{ph4}هر عملیات را به "
|
||
"بازسازی نگهداری شده وصل کنید.{ph5}"
|
||
|
||
#. {ph0}: <span class="flow-label">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <strong class="flow-node">
|
||
#. {ph3}: </strong >
|
||
#. {ph4}: <span class="flow-note" >
|
||
#. {ph5}: </span >
|
||
#: website/public/showcase/th04/index.html:222
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}04 · Check the source{ph1}{ph2}2,139 matching bytes{ph3}{ph4}Recorded "
|
||
"compiler checks cover the bullet-generation code that contains this "
|
||
"helper.{ph5}"
|
||
msgstr ""
|
||
"{ph0}04 * منبع را بررسی کنید{ph1}{ph2}2,139 بایت تطبیق{ph3}{ph4}چک های "
|
||
"کامپایلر ضبط شده کد تولید گلوله ای را که شامل این کمک کننده است ، پوشش می "
|
||
"دهد.{ph5}"
|
||
|
||
#: website/public/showcase/th04/index.html:231
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"REA returns the original code and its analysis evidence. The TH04 project "
|
||
"supplies the maintained source and compiler checks."
|
||
msgstr ""
|
||
"REA کد اصلی و شواهد تجزیه و تحلیل آن را باز می گرداند. پروژه TH04 منبع "
|
||
"نگهداری شده و چک های کامپایلر را تامین می کند."
|
||
|
||
#: website/public/showcase/th04/index.html:239
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "In this case study"
|
||
msgstr "در این مطالعه موردی"
|
||
|
||
#. {ph0}: <a href="#ring">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/th04/index.html:241
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}The bullet ring{ph1}"
|
||
msgstr "{ph0}حلقه گلوله{ph1}"
|
||
|
||
#. {ph0}: <a href="#rea">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/th04/index.html:242
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}What REA returns{ph1}"
|
||
msgstr "{ph0}چه REA باز می گردد{ph1}"
|
||
|
||
#. {ph0}: <a href="#source">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/th04/index.html:243
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}Assembly to C++{ph1}"
|
||
msgstr "{ph0}مونتاژ به C++{ph1}"
|
||
|
||
#. {ph0}: <a href="#checking">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/th04/index.html:244
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}Checking the source{ph1}"
|
||
msgstr "{ph0}بررسی منبع{ph1}"
|
||
|
||
#. {ph0}: <a href="#project">
|
||
#. {ph1}: </a>
|
||
#: website/public/showcase/th04/index.html:245
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}The full project{ph1}"
|
||
msgstr "{ph0}پروژه کامل{ph1}"
|
||
|
||
#: website/public/showcase/th04/index.html:250
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "How a ring aims at the player"
|
||
msgstr "چگونه یک حلقه به بازیکن هدف می گیرد"
|
||
|
||
#: website/public/showcase/th04/index.html:251
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"Elly's attack requests an aimed ring with an initial count of 16. One helper"
|
||
" calculates the direction of each bullet. The same ring can face a fixed "
|
||
"direction or turn toward the player."
|
||
msgstr ""
|
||
"حمله ی الی درخواست یک حلقه ی هدفمند با شمارش اولیه ی 16 می کند. یک یاور جهت "
|
||
"هر گلوله را محاسبه می کند. همان حلقه می تواند با یک جهت ثابت روبرو شود یا به"
|
||
" سمت بازیکن بچرخد."
|
||
|
||
#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
|
||
#. {ph1}: <i>
|
||
#. {ph2}: </i>
|
||
#. {ph3}: <i>
|
||
#. {ph4}: </i>
|
||
#. {ph5}: <i>
|
||
#. {ph6}: </i>
|
||
#. {ph7}: </span >
|
||
#: website/public/showcase/th04/index.html:258
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Your coding agent"
|
||
msgstr "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}عامل برنامه نویسی شما"
|
||
|
||
#: website/public/showcase/th04/index.html:263
|
||
#: website/public/showcase/th04/index.html:319
|
||
#: website/public/showcase/th04/index.html:496
|
||
#: website/public/showcase/th04/index.html:530
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="th04-prompt" >
|
||
#. {ph3}: </span >
|
||
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph5}: </span>
|
||
#: website/public/showcase/th04/index.html:272
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to find how TH04 creates a ring of bullets and aims "
|
||
"it at the player. Explain the calculation and show the code.{ph3}{ph4}{ph5}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}استفاده از REA برای پیدا کردن چگونه TH04 ایجاد یک حلقه از "
|
||
"گلوله و هدف آن را در بازیکن. محاسبه را توضیح دهید و کد را نشان "
|
||
"دهید.{ph3}{ph4}{ph5}"
|
||
|
||
#: website/public/showcase/th04/index.html:281
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"An example prompt, with the original executable and reconstruction checkout "
|
||
"available locally."
|
||
msgstr "یک مثال سریع ، با فایل اجرایی اصلی و پرداخت بازسازی در دسترس محلی."
|
||
|
||
#. {ph0}: <code>0, 16, 32, …, 240</code>
|
||
#: website/public/showcase/th04/index.html:285
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"TH04 stores a full clockwise turn in 256 angle units. For 16 bullets, each "
|
||
"index adds 16 units: {ph0}. Adding the player's direction rotates those "
|
||
"positions together."
|
||
msgstr ""
|
||
"TH04 یک چرخش کامل در جهت عقربه های ساعت را در 256 واحد زاویه ذخیره می کند. "
|
||
"برای 16 گلوله ، هر شاخص 16 واحد اضافه می کند: {ph0}. اضافه کردن جهت بازیکن "
|
||
"این موقعیت ها را با هم می چرخاند."
|
||
|
||
#. {ph0}: <a href="../../assets/figures/th04-bullet-ring.svg" >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/th04/index.html:305
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"An illustration of the recovered angle math for count 16, player direction "
|
||
"40 and template rotation 0. {ph0}Open figure{ph1}"
|
||
msgstr ""
|
||
"یک تصویر از ریاضیات زاویه بازیابی شده برای شمارش 16 ، جهت بازیکن 40 و چرخش "
|
||
"قالب 0. {ph0}شکل باز{ph1}"
|
||
|
||
#: website/public/showcase/th04/index.html:313
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "The firing template in the recovered source"
|
||
msgstr "قالب شلیک در منبع بازیابی شده"
|
||
|
||
#: website/public/showcase/th04/index.html:318
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Elly's ring attack · source excerpt"
|
||
msgstr "حمله حلقه ای الی * منبع گزیده"
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/src/main/boss/elly_phase_ring16.cpp#L26"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/th04/index.html:333
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"These lines select the pattern before difficulty and performance tuning. "
|
||
"{ph0}Read the attack's source{ph1}."
|
||
msgstr ""
|
||
"این خطوط الگوی را قبل از دشواری و تنظیم عملکرد انتخاب می کنند. {ph0}منبع "
|
||
"حمله رو بخون{ph1}."
|
||
|
||
#: website/public/showcase/th04/index.html:344
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "What REA returns"
|
||
msgstr "چه REA باز می گردد"
|
||
|
||
#. {ph0}: <code>bullet_velocity_and_angle_set()</code>
|
||
#: website/public/showcase/th04/index.html:345
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"We inspect {ph0}, the function that sets each bullet's velocity and angle. "
|
||
"REA returns its instructions, pseudocode and references. Three parts of that"
|
||
" result explain the pattern."
|
||
msgstr ""
|
||
"ما بازرسی می کنیم {ph0}، تابعی که سرعت و زاویه هر گلوله را تعیین می کند. "
|
||
"REA دستورالعمل ها ، کد شبه و مرجع خود را باز می گرداند. سه قسمت از این نتیجه"
|
||
" الگوی را توضیح می دهد."
|
||
|
||
#: website/public/showcase/th04/index.html:353
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Check the DOS image before reading its code"
|
||
msgstr "قبل از خواندن کد آن ، تصویر DOS را بررسی کنید"
|
||
|
||
#: website/public/showcase/th04/index.html:374
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"The check ties the loaded code and relocation records to the supplied "
|
||
"executable. The path above is shortened for display."
|
||
msgstr ""
|
||
"چک کد بارگذاری شده و سوابق جابجایی را به فایل اجرایی ارائه شده متصل می کند. "
|
||
"مسیر بالا برای نمایش کوتاه شده است."
|
||
|
||
#: website/public/showcase/th04/index.html:380
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Read the ring's multiply and divide"
|
||
msgstr "ضرب و تقسیم حلقه را بخوانید"
|
||
|
||
#. {ph0}: <code>SI</code>
|
||
#. {ph1}: <code>DS:53AF</code>
|
||
#. {ph2}: <code>bullet_template.count</code>
|
||
#: website/public/showcase/th04/index.html:398
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0} holds the bullet index. The shift multiplies it by 256, then the "
|
||
"division uses the count read from {ph1}. The maintained source names that "
|
||
"field {ph2}. The complete sequence appears below."
|
||
msgstr ""
|
||
"{ph0} شاخص گلوله را نگه می دارد. تغییر آن را با 256 ضرب می کند ، سپس تقسیم "
|
||
"از شمارش خوانده شده از {ph1}. نام های منبع نگهداری شده که فیلد {ph2}. دنباله"
|
||
" کامل در زیر ظاهر می شود."
|
||
|
||
#: website/public/showcase/th04/index.html:407
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Find where the pattern turns toward the player"
|
||
msgstr "پیدا کردن جایی که الگوی به سمت بازیکن می چرخد"
|
||
|
||
#: website/public/showcase/th04/index.html:428
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"The instruction operands expose two coordinate differences and a direction "
|
||
"helper. Its return value is added to the relative ring angle. Source names "
|
||
"make those addresses readable; REA lets the agent check the original "
|
||
"operations behind them."
|
||
msgstr ""
|
||
"عملگرهای دستورالعمل دو تفاوت مختصات و یک کمک کننده جهت را نشان می دهند. "
|
||
"مقدار بازگشت آن به زاویه حلقه نسبی اضافه می شود. نام های منبع این آدرس ها را"
|
||
" قابل خواندن می کنند ؛ REA به نماینده اجازه می دهد عملیات اصلی پشت آنها را "
|
||
"بررسی کند."
|
||
|
||
#: website/public/showcase/th04/index.html:439
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "From assembly to readable C++"
|
||
msgstr "از مونتاژ به c قابل خواندن++"
|
||
|
||
#: website/public/showcase/th04/index.html:440
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"Select a step to match the original instructions with the angle calculation."
|
||
" This summary follows the aimed-ring path; the full source also handles "
|
||
"spreads, stacks and random patterns."
|
||
msgstr ""
|
||
"یک مرحله را برای مطابقت دستورالعمل های اصلی با محاسبه زاویه انتخاب کنید. این"
|
||
" خلاصه مسیر حلقه هدف را دنبال می کند ؛ منبع کامل همچنین گسترش ، پشته و "
|
||
"الگوهای تصادفی را مدیریت می کند."
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/th04/index.html:451
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}01{ph1} Index"
|
||
msgstr "{ph0}01{ph1} شاخص"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/th04/index.html:459
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}02{ph1} Space"
|
||
msgstr "{ph0}02{ph1} فضا"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/th04/index.html:467
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}03{ph1} Aim"
|
||
msgstr "{ph0}03{ph1} هدف"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/th04/index.html:475
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}04{ph1} Rotate"
|
||
msgstr "{ph0}04{ph1} چرخش"
|
||
|
||
#. {ph0}: <span>
|
||
#. {ph1}: </span>
|
||
#: website/public/showcase/th04/index.html:483
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}05{ph1} Store"
|
||
msgstr "{ph0}05{ph1} فروشگاه"
|
||
|
||
#: website/public/showcase/th04/index.html:495
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "REA · original 16-bit instructions"
|
||
msgstr "REA * دستورالعمل های اصلی 16 بیتی"
|
||
|
||
#: website/public/showcase/th04/index.html:529
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Readable C++ · aimed-ring summary"
|
||
msgstr "قابل خواندن c summary * هدف-خلاصه حلقه"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>SI</code>
|
||
#: website/public/showcase/th04/index.html:558
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}01 · Read the bullet index.{ph1} The stack argument is loaded into "
|
||
"{ph2}. In a 16-bullet ring, this member index runs from 0 through 15."
|
||
msgstr ""
|
||
"{ph0}01 * شاخص گلوله را بخوانید.{ph1} استدلال پشته بارگذاری شده است {ph2}. "
|
||
"در یک حلقه 16 گلوله ، این شاخص عضو از 0 تا 15 اجرا می شود."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>SHL AX,8</code>
|
||
#. {ph3}: <code>IDIV</code>
|
||
#: website/public/showcase/th04/index.html:563
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}02 · Space the directions around a full turn.{ph1} {ph2} multiplies by "
|
||
"256. The count is zero-extended into a word, then {ph3} divides the product "
|
||
"by that count. For count 16, each index advances 16 angle units."
|
||
msgstr ""
|
||
"{ph0}02 * جهت ها را در اطراف یک چرخش کامل قرار دهید.{ph1} {ph2} ضرب در 256 "
|
||
"شمارش صفر است-به یک کلمه گسترش می یابد ، سپس {ph3} محصول را با این تعداد "
|
||
"تقسیم می کند. برای شمارش 16 ، هر شاخص 16 واحد زاویه را پیش می برد."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>AX</code>
|
||
#: website/public/showcase/th04/index.html:570
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}03 · Add the player direction.{ph1} The two subtractions form player-"
|
||
"minus-origin coordinates. The direction helper returns an angle in {ph2}; "
|
||
"adding it turns the whole ring toward the player."
|
||
msgstr ""
|
||
"{ph0}03 * جهت بازیکن را اضافه کنید.{ph1} دو تفریق مختصات بازیکن-منهای-منشأ "
|
||
"را تشکیل می دهند. کمک کننده جهت زاویه ای را در {ph2} اضافه کردن کل حلقه رو "
|
||
"به سمت بازیکن می چرخونه"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>ADD AL,[0x53ad]</code>
|
||
#: website/public/showcase/th04/index.html:576
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}04 · Add the pattern's rotation.{ph1} {ph2} adds the template angle. "
|
||
"Elly's initial template sets it to zero; other patterns can use the same "
|
||
"helper with a rotation."
|
||
msgstr ""
|
||
"{ph0}04 * چرخش الگوی را اضافه کنید.{ph1} {ph2} زاویه قالب را اضافه می کند. "
|
||
"الگوی اولیه ایلی آن را به صفر می رساند ؛ الگوهای دیگر می توانند از همان کمک "
|
||
"کننده با چرخش استفاده کنند."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>AL</code>
|
||
#: website/public/showcase/th04/index.html:582
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}05 · Keep the final angle in one byte.{ph1} The store writes {ph2} to "
|
||
"the spawn-angle field. Values wrap after 255, just as the unsigned-byte cast"
|
||
" does. The surrounding source also converts this angle and speed into "
|
||
"velocity."
|
||
msgstr ""
|
||
"{ph0}05 * زاویه نهایی را در یک بایت نگه دارید.{ph1} فروشگاه می نویسد {ph2} "
|
||
"به میدان زاویه تخم ریزی ارزش ها بعد از 255 بسته بندی می شوند ، درست مثل "
|
||
"بازیگران بدون بایت. منبع اطراف نیز این زاویه و سرعت را به سرعت تبدیل می کند."
|
||
|
||
#: website/public/showcase/th04/index.html:591
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"The assembly selects the aimed-ring branch, aim calculation and final store."
|
||
" The C++ above is a readable summary. Compiler checks below apply to the "
|
||
"maintained source in the linked project."
|
||
msgstr ""
|
||
"مجمع شاخه حلقه هدف ، محاسبه هدف و فروشگاه نهایی را انتخاب می کند. C++ بالا "
|
||
"یک خلاصه قابل خواندن است. چک های کامپایلر زیر برای منبع نگهداری شده در پروژه"
|
||
" مرتبط اعمال می شود."
|
||
|
||
#: website/public/showcase/th04/index.html:597
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Read the maintained ring and aim source"
|
||
msgstr "حلقه نگهداری شده و منبع هدف را بخوانید"
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/src/main/bullet/add_impl.hpp#L4"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a
|
||
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/src/main/bullet/add.cpp#L422"
|
||
#. >
|
||
#. {ph3}: </a >
|
||
#. {ph4}: <a
|
||
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/src/main/bullet/types.hpp#L6"
|
||
#. >
|
||
#. {ph5}: </a >
|
||
#: website/public/showcase/th04/index.html:626
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}Ring macro{ph1} · {ph2}Aim and velocity source{ph3} · {ph4}Angle "
|
||
"representation{ph5}"
|
||
msgstr ""
|
||
"{ph0}ماکرو حلقه{ph1} · {ph2}منبع هدف و سرعت{ph3} · {ph4}نمایش زاویه{ph5}"
|
||
|
||
#: website/public/showcase/th04/index.html:646
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Checking the maintained source"
|
||
msgstr "بررسی منبع نگهداری شده"
|
||
|
||
#: website/public/showcase/th04/index.html:647
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"The TH04 project's recorded checks compile the bullet-generation code, "
|
||
"including this helper, with its pinned Turbo C++ 4.0J toolchain."
|
||
msgstr ""
|
||
"چک های ضبط شده پروژه TH04 کد تولید گلوله ، از جمله این کمک کننده را با "
|
||
"زنجیره ابزار توربو C 4 4.0 J خود جمع آوری می کند."
|
||
|
||
#: website/public/showcase/th04/index.html:654
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "2,139 matching bytes"
|
||
msgstr "2,139 بایت تطبیق"
|
||
|
||
#: website/public/showcase/th04/index.html:655
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"The compiled bullet-generation code matches a 2,139-byte section of the "
|
||
"original executable."
|
||
msgstr ""
|
||
"کد تولید گلوله کامپایل شده با بخش 2139 بایت از فایل اجرایی اصلی مطابقت دارد."
|
||
|
||
#: website/public/showcase/th04/index.html:661
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Two clean builds"
|
||
msgstr "دو ساخت تمیز"
|
||
|
||
#: website/public/showcase/th04/index.html:662
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"Two separate builds produce the same matching bytes. The recorded input "
|
||
"hashes match the maintained source shown here."
|
||
msgstr ""
|
||
"دو ساخت جداگانه همان بایت های تطبیق یافته را تولید می کنند. هش های ورودی ضبط"
|
||
" شده با منبع نگهداری شده که در اینجا نشان داده شده مطابقت دارند."
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/docs/reconstruction/product/TH04_SEMANTIC_BULLET_GENERATION_V1236.md#validation"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/th04/index.html:668
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Recorded on 3 October 2026. {ph0}Read the compiler checks{ph1}."
|
||
msgstr "ثبت شده در 3 اکتبر 2026. {ph0}چک های کامپایلر را بخوانید{ph1}."
|
||
|
||
#: website/public/showcase/th04/index.html:676
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Target identity and analysis scope"
|
||
msgstr "محدوده هویت و تجزیه و تحلیل هدف"
|
||
|
||
#: website/public/showcase/th04/index.html:681
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Original target"
|
||
msgstr "هدف اصلی"
|
||
|
||
#. {ph0}: <code>MAIN.EXE</code>
|
||
#: website/public/showcase/th04/index.html:682
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}, 156,258 bytes, DOS MZ"
|
||
msgstr "{ph0}, 156,258 بایت, DOS MZ"
|
||
|
||
#: website/public/showcase/th04/index.html:685
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Helper entry"
|
||
msgstr "ورود کمک کننده"
|
||
|
||
#. {ph0}: <code>0x2cfc8</code>
|
||
#: website/public/showcase/th04/index.html:686
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0} in REA's loaded image"
|
||
msgstr "{ph0} در REA ' s تصویر لود"
|
||
|
||
#: website/public/showcase/th04/index.html:689
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Original file offset"
|
||
msgstr "فایل اصلی جبران"
|
||
|
||
#. {ph0}: <code>0x1e7c8</code>
|
||
#. {ph1}: <code>address_to_file_offset</code>
|
||
#: website/public/showcase/th04/index.html:690
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}, returned by {ph1}"
|
||
msgstr "{ph0}، بازگشت توسط {ph1}"
|
||
|
||
#: website/public/showcase/th04/index.html:696
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Recorded code inspection"
|
||
msgstr "بازرسی کد ثبت شده"
|
||
|
||
#: website/public/showcase/th04/index.html:697
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "REA 4.1.0 · 7 October 2026"
|
||
msgstr "REA 4.1.0 * 7 اکتبر 2026"
|
||
|
||
#: website/public/showcase/th04/index.html:702
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"Compiler checks cover the complete bullet-add code section, including this "
|
||
"helper. They also compare its MAP contribution and overlapping relocation."
|
||
msgstr ""
|
||
"چک های کامپایلر بخش کامل کد bullet-add را شامل می شود ، از جمله این کمک "
|
||
"کننده. آنها همچنین سهم نقشه و جابجایی همپوشانی آن را مقایسه می کنند."
|
||
|
||
#. {ph0}: <code>0x1000</code>
|
||
#: website/public/showcase/th04/index.html:707
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"REA verified the static DOS load image at load segment {ph0}. Its addresses "
|
||
"describe that analysis image. The function result reports 503 body bytes in "
|
||
"two ranges across a 517-byte span; the selected instructions above lie in "
|
||
"those reported ranges."
|
||
msgstr ""
|
||
"REA تصویر بار dos استاتیک را در بخش بار تأیید کرد {ph0}. آدرس های آن تصویر "
|
||
"تجزیه و تحلیل را توصیف می کند. نتیجه تابع 503 بایت بدن را در دو محدوده در "
|
||
"طول 517 بایت گزارش می کند ؛ دستورالعمل های انتخاب شده در بالا در آن محدوده "
|
||
"های گزارش شده قرار دارند."
|
||
|
||
#. {ph0}: <code>0d72e980</code>
|
||
#: website/public/showcase/th04/index.html:714
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"The source names and compiler checks come from TH04 checkpoint {ph0}. "
|
||
"Earlier reconstruction observations used the project's own analysis scripts;"
|
||
" this page adds a fresh REA inspection of the same original target. The "
|
||
"supplied game's identity is pinned by its repository manifest, with "
|
||
"independent pristine-dump provenance still open."
|
||
msgstr ""
|
||
"نام منبع و چک های کامپایلر از نقطه بازرسی TH04 می آیند {ph0}. مشاهدات "
|
||
"بازسازی قبلی از اسکریپت های تجزیه و تحلیل پروژه استفاده می کردند ؛ این صفحه "
|
||
"یک بازرسی REA تازه از همان هدف اصلی را اضافه می کند. هویت بازی عرضه شده توسط"
|
||
" فهرست مخزن آن قرار گرفته است ، با منبع مستقل پاک و پاک هنوز باز است."
|
||
|
||
#: website/public/showcase/th04/index.html:722
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"The figure illustrates the angle calculation. Full-game controls, timing and"
|
||
" PC-98 hardware behavior have separate runtime checks in the reconstruction "
|
||
"project."
|
||
msgstr ""
|
||
"شکل محاسبه زاویه را نشان می دهد. کنترل های کامل بازی ، زمان بندی و رفتار سخت"
|
||
" افزاری PC-98 دارای بررسی های زمان اجرا جداگانه در پروژه بازسازی هستند."
|
||
|
||
#: website/public/showcase/th04/index.html:731
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "The full TH04 reconstruction"
|
||
msgstr "بازسازی کامل TH04"
|
||
|
||
#: website/public/showcase/th04/index.html:732
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"The project builds the game's four DOS products from maintained C++ and "
|
||
"assembly. Beyond bullet generation, the source covers stages, bosses, "
|
||
"rendering, input, menus, endings and score handling."
|
||
msgstr ""
|
||
"این پروژه چهار محصول dos بازی را از Ctained و مونتاژ نگهداری می کند. فراتر "
|
||
"از تولید گلوله ، منبع شامل مراحل ، کارفرمایان ، رندر ، ورودی ، منوها ، پایان"
|
||
" ها و مدیریت امتیاز است."
|
||
|
||
#. {ph0}: <a class="text-link" href="https://github.com/N0zoM1z0/th04" >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/th04/index.html:738
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "{ph0}Explore the TH04 repository{ph1}"
|
||
msgstr "{ph0}مخزن TH04 را کاوش کنید{ph1}"
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/src/main/bullet/add.cpp#L292"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/showcase/th04/index.html:744
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}Bullet-generation source{ph1}{ph2}The complete helper, other pattern "
|
||
"types and template tuning.{ph3}"
|
||
msgstr ""
|
||
"{ph0}منبع تولید گلوله{ph1}{ph2}یار کامل ، انواع دیگر الگو و تنظیم قالب.{ph3}"
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/docs/DOS_BUILD.md"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span >
|
||
#. {ph3}: </span >
|
||
#: website/public/showcase/th04/index.html:753
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}DOS build and run guide{ph1}{ph2}Build the source and test it in the "
|
||
"project's PC-98 emulator workflow.{ph3}"
|
||
msgstr ""
|
||
"{ph0}راهنمای ساخت و اجرای DOS{ph1}{ph2}منبع را بسازید و آن را در جریان کار "
|
||
"شبیه ساز PC-98 پروژه تست کنید.{ph3}"
|
||
|
||
#. {ph0}: <a
|
||
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/docs/RE_HANDOFF.md"
|
||
#. >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <span>
|
||
#. {ph3}: </span>
|
||
#: website/public/showcase/th04/index.html:762
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"{ph0}Current project state{ph1}{ph2}DOS verification and the separate native"
|
||
" x64 port.{ph3}"
|
||
msgstr ""
|
||
"{ph0}وضعیت فعلی پروژه{ph1}{ph2}تایید DOS و پورت x64 بومی جداگانه.{ph3}"
|
||
|
||
#: website/public/showcase/th04/index.html:6
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "TH04 Reverse Engineering: DOS Bullet Patterns — REA"
|
||
msgstr "TH04 مهندسی معکوس: الگوهای گلوله DOS-REA"
|
||
|
||
#: website/public/showcase/th04/index.html:7
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"Inspect TH04's original 16-bit DOS code with REA. Follow the assembly and "
|
||
"recovered C++ to see how a ring of bullets is spaced and aimed at the "
|
||
"player."
|
||
msgstr ""
|
||
"کد dos اصلی 16 بیتی TH04 را با REA بررسی کنید . مونتاژ را دنبال کنید و C++ "
|
||
"را بازیابی کنید تا ببینید که چگونه یک حلقه گلوله فاصله دارد و به بازیکن هدف "
|
||
"قرار می گیرد."
|
||
|
||
#: website/public/showcase/th04/index.html:238
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "On this page"
|
||
msgstr "در این صفحه"
|
||
|
||
#: website/public/showcase/th04/index.html:248
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "TH04 bullet-pattern case study"
|
||
msgstr "TH04 گلوله-الگوی مطالعه موردی"
|
||
|
||
#: website/public/showcase/th04/index.html:263
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Copy TH04 example prompt"
|
||
msgstr "کپی TH04 مثال prompt"
|
||
|
||
#: website/public/showcase/th04/index.html:291
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"TH04 fixed and aimed bullet rings; scroll horizontally on smaller screens"
|
||
msgstr ""
|
||
"TH04 حلقه های گلوله ثابت و هدفمند ؛ به صورت افقی روی صفحه نمایش های کوچکتر "
|
||
"حرکت کنید"
|
||
|
||
#: website/public/showcase/th04/index.html:297
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"Two diagrams of a 16-bullet ring. The fixed ring starts at angle zero. "
|
||
"Adding a player direction of 40 rotates every direction by the same amount; "
|
||
"the highlighted first bullet points toward the player. Both keep a spacing "
|
||
"of 16 angle units, or 22.5 degrees."
|
||
msgstr ""
|
||
"دو نمودار یک حلقه 16 گلوله ای حلقه ثابت از زاویه صفر شروع می شود. اضافه کردن"
|
||
" یک جهت بازیکن 40 هر جهت را با همان مقدار چرخش می دهد ؛ اولین گلوله برجسته "
|
||
"به سمت بازیکن اشاره می کند. هر دو فاصله 16 واحد زاویه ای یا 22.5 درجه دارند."
|
||
|
||
#: website/public/showcase/th04/index.html:319
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Copy TH04 firing template"
|
||
msgstr "کپی TH04 قالب شلیک"
|
||
|
||
#: website/public/showcase/th04/index.html:446
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Follow the TH04 aimed-ring calculation"
|
||
msgstr "محاسبه حلقه هدف TH04 را دنبال کنید"
|
||
|
||
#: website/public/showcase/th04/index.html:496
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Copy TH04 assembly excerpt"
|
||
msgstr "کپی TH04 assembly گزیده"
|
||
|
||
#: website/public/showcase/th04/index.html:530
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Copy readable aimed-ring calculation"
|
||
msgstr "کپی قابل خواندن هدف-محاسبه حلقه"
|
||
|
||
#: website/public/showcase/th04/index.html:787
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Back to top"
|
||
msgstr "بازگشت به بالا"
|
||
|
||
#: website/public/assets/main.js:39
|
||
msgctxt "runtime"
|
||
msgid "Copy"
|
||
msgstr "کپی"
|
||
|
||
#: website/public/assets/main.js:20
|
||
msgctxt "runtime"
|
||
msgid "Copied"
|
||
msgstr "کپی شده"
|
||
|
||
#: website/public/assets/main.js:31
|
||
msgctxt "runtime"
|
||
msgid "Selected"
|
||
msgstr "انتخاب شده"
|
||
|
||
#: website/public/assets/main.js:22
|
||
msgctxt "runtime"
|
||
msgid "Code copied to clipboard."
|
||
msgstr "کد کپی شده به کلیپ بورد."
|
||
|
||
#: website/public/assets/main.js:33
|
||
msgctxt "runtime"
|
||
msgid "Code selected. Use your keyboard to copy it."
|
||
msgstr "کد انتخاب شده از صفحه کلید خود برای کپی کردن آن استفاده کنید."
|
||
|
||
#: website/public/assets/main.js:147
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "REA on GitHub ({count})"
|
||
msgstr "REA در GitHub ({count})"
|
||
|
||
#: website/public/assets/dino-demo.js:71
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "Distance {distance}"
|
||
msgstr "فاصله {distance}"
|
||
|
||
#: website/public/assets/dino-demo.js:81
|
||
msgctxt "runtime"
|
||
msgid "Hit a cactus. Try another speed."
|
||
msgstr "ضربه به یک کاکتوس سرعت دیگری را امتحان کنید."
|
||
|
||
#: website/public/assets/dino-demo.js:81
|
||
msgctxt "runtime"
|
||
msgid "Space or Jump ↑"
|
||
msgstr "فضا یا پرش ↑"
|
||
|
||
#: website/public/assets/dino-demo.js:91
|
||
msgctxt "runtime"
|
||
msgid "Play again"
|
||
msgstr "بازی دوباره"
|
||
|
||
#: website/public/assets/dino-demo.js:91
|
||
#: website/public/assets/dino-demo.js:105
|
||
msgctxt "runtime"
|
||
msgid "Play"
|
||
msgstr "بازی"
|
||
|
||
#: website/public/assets/dino-demo.js:165
|
||
msgctxt "runtime"
|
||
msgid "Pause"
|
||
msgstr "مکث"
|
||
|
||
#: website/public/assets/dino-demo.js:106
|
||
msgctxt "runtime"
|
||
msgid "Press Play, then jump over the cactus."
|
||
msgstr "بازی را فشار دهید ، سپس از روی کاکتوس بپرید."
|
||
|
||
#: website/public/assets/dino-demo.js:141
|
||
msgctxt "runtime"
|
||
msgid "Hit a cactus. Press Play again, or change the speed and restart."
|
||
msgstr ""
|
||
"ضربه به یک کاکتوس دوباره Play را فشار دهید یا سرعت را تغییر دهید و دوباره "
|
||
"راه اندازی کنید."
|
||
|
||
#: website/public/assets/dino-demo.js:166
|
||
msgctxt "runtime"
|
||
msgid "Running. Space or Jump clears a cactus."
|
||
msgstr "دویدن فضا یا پرش یک کاکتوس را پاک می کند."
|
||
|
||
#: website/public/assets/dino-demo.js:177
|
||
#: website/public/assets/dino-demo.js:213
|
||
#: website/public/assets/dino-demo.js:218
|
||
msgctxt "runtime"
|
||
msgid "Paused. Press Play to continue."
|
||
msgstr "مکث کرد. برای ادامه بازی را فشار دهید."
|
||
|
||
#: website/public/assets/dino-demo.js:197
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "Fixed speed: {speed}. Space or Jump clears a cactus."
|
||
msgstr "سرعت ثابت: {speed}. فضا یا پرش یک کاکتوس را پاک می کند."
|
||
|
||
#: website/public/assets/dino-demo.js:200
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "Fixed speed: {speed}. Press Play to try it."
|
||
msgstr "سرعت ثابت: {speed}. برای امتحان کردن Play را فشار دهید."
|
||
|
||
#: website/public/assets/dino-demo.js:209
|
||
msgctxt "runtime"
|
||
msgid "Recovered rule: start at 6, then increase toward 13."
|
||
msgstr "قانون بازیابی شده: از 6 شروع کنید ، سپس به سمت 13 افزایش دهید."
|
||
|
||
#: website/public/assets/dino-demo.js:210
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "Fixed speed: {speed}."
|
||
msgstr "سرعت ثابت: {speed}."
|
||
|
||
#: website/public/assets/dino-demo.js:242
|
||
msgctxt "runtime"
|
||
msgid ""
|
||
"Replayed the recovered rule. All four values match the controlled original-"
|
||
"game check when rounded to three decimals."
|
||
msgstr ""
|
||
"قانون بازیابی شده را تکرار کرد. هر چهار مقدار با چک بازی اصلی کنترل شده "
|
||
"مطابقت دارند وقتی به سه اعشاری گرد می شوند."
|
||
|
||
#: website/public/assets/dino-demo.js:245
|
||
msgctxt "runtime"
|
||
msgid ""
|
||
"The replay differs from the recorded original-game values. Compare the speed"
|
||
" rule and settings above."
|
||
msgstr ""
|
||
"بازی مجدد با مقادیر بازی اصلی ضبط شده متفاوت است. قانون سرعت و تنظیمات بالا "
|
||
"را مقایسه کنید."
|
||
|
||
#: website/public/assets/aegis-demo.js:22
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "{start}–{end} seconds"
|
||
msgstr "{start}–{end} ثانیه ها"
|
||
|
||
#: website/public/assets/aegis-demo.js:29
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "{seconds} seconds, time block {block}"
|
||
msgstr "{seconds} ثانیه ، بلوک زمان {block}"
|
||
|
||
#: website/public/assets/aegis-demo.js:35
|
||
msgctxt "runtime"
|
||
msgid ""
|
||
"Interactive calculation is unavailable in this browser. The example shows "
|
||
"the code at 59 seconds."
|
||
msgstr ""
|
||
"محاسبه تعاملی در این مرورگر در دسترس نیست. مثال کد را در 59 ثانیه نشان می "
|
||
"دهد."
|
||
|
||
#: website/public/assets/aegis-demo.js:62
|
||
msgctxt "runtime"
|
||
msgid "Checking…"
|
||
msgstr "چک کردن…"
|
||
|
||
#: website/public/assets/aegis-demo.js:76
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid ""
|
||
"{passed} / {total} checks passed (six reference cases, at six and eight "
|
||
"digits)."
|
||
msgstr "{passed} / {total} چک های تصویب شده (شش مورد مرجع ، در شش و هشت رقم)."
|
||
|
||
#: website/public/assets/aegis-demo.js:81
|
||
msgctxt "runtime"
|
||
msgid "Could not run the reference checks. Try again."
|
||
msgstr "نتونستم چک هاي مرجع رو اجرا کنم دوباره امتحان کن"
|
||
|
||
#: website/public/assets/figures/analyst-thinking.svg:2
|
||
msgctxt "figure:analyst-thinking.svg"
|
||
msgid "An analyst thinking at a computer"
|
||
msgstr "یک تحلیلگر که در کامپیوتر فکر می کند"
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:2
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:7
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "One check reveals one character"
|
||
msgstr "یک چک یک شخصیت را نشان می دهد"
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:3
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid ""
|
||
"The seventh mask selects only position 21 in the six by six input grid. Its "
|
||
"character code must equal 55, so the character is 7. The other masks select "
|
||
"different positions and give further equations."
|
||
msgstr ""
|
||
"ماسک هفتم تنها موقعیت 21 را در شبکه ورودی شش به شش انتخاب می کند. کد کاراکتر"
|
||
" آن باید برابر با 55 باشد ، بنابراین کاراکتر 7 است. ماسک های دیگر موقعیت های"
|
||
" مختلف را انتخاب می کنند و معادلات بیشتری را ارائه می دهند."
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:8
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "The seventh check. Cell labels are input positions, starting at 0."
|
||
msgstr ""
|
||
"بررسی هفتم برچسب های سلولی موقعیت های ورودی هستند که از 0 شروع می شوند."
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:10
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "Encoded mask: −21, +1, −14, 0"
|
||
msgstr "ماسک کدگذاری شده: -21, +1, -14, 0"
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:11
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "Skip 21 cells. Select 1. Skip 14. Stop at 0."
|
||
msgstr "21 سلول را حذف کنید. 1 را انتخاب کنید. 14 رو رد کن توقف در 0"
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:15
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "Only one cell contributes to this sum"
|
||
msgstr "فقط یک سلول به این مبلغ کمک می کند"
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:18
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "Position 21 in the flag must contain 7."
|
||
msgstr "موقعیت 21 در پرچم باید شامل 7 باشد."
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:20
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "Selected: one cell"
|
||
msgstr "انتخاب شده: یک سلول"
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:21
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "26 masks give 26 equations."
|
||
msgstr "26 ماسک 26 معادله را می دهد."
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:22
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "Solve them together to find the flag."
|
||
msgstr "آنها را با هم حل کنید تا پرچم را پیدا کنید."
|
||
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:2
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:9
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "DX-Ball sound-pan investigation"
|
||
msgstr "DX-Ball تحقیق صدا-پان"
|
||
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:3
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid ""
|
||
"REA provides the instruction, caller and byte-read evidence for one DX-Ball "
|
||
"function. A stack input is multiplied by 1.5625, offset by 500, scaled, and "
|
||
"converted to an integer. Maintained C is checked in 3,205 original-x86 cases"
|
||
" and a separate 63-byte compiler replay."
|
||
msgstr ""
|
||
"REA دستورالعمل ، تماس گیرنده و شواهد بایت خواندن را برای یک تابع DX-Ball "
|
||
"فراهم می کند. یک ورودی پشته با 1.5625 ضرب می شود ، با 500 جبران می شود ، "
|
||
"مقیاس بندی می شود و به یک عدد صحیح تبدیل می شود. C نگهداری شده در 3205 مورد "
|
||
"اصلی-x86 و یک کامپایلر 63 بایت جداگانه بررسی می شود."
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:28
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "Stack"
|
||
msgstr "پشته"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:29
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "input x"
|
||
msgstr "ورودی x"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:33
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "Integer"
|
||
msgstr "صحیح"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:34
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "return"
|
||
msgstr "بازگشت"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:35
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "Reconstructed function"
|
||
msgstr "تابع بازسازیشده"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:36
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "Maintained C"
|
||
msgstr "کد C بازسازیشده"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:37
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "Brick-hit caller"
|
||
msgstr "فراخوانی برخورد"
|
||
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:38
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "20 + 30 × tile_x"
|
||
msgstr "20 + 30 × tile_x"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:39
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "Original code"
|
||
msgstr "کد اصلی"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:40
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:43
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "comparison"
|
||
msgstr "مقایسه"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:41
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "3,205 cases"
|
||
msgstr "۳٬۲۰۵ آزمون"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:42
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "VC4.0 build"
|
||
msgstr "ساخت VC4.0"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:44
|
||
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
msgid "63 matching bytes"
|
||
msgstr "تطابق ۶۳ بایت"
|
||
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:2
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:10
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "REA investigation flow"
|
||
msgstr "جریان تحقیقات REA"
|
||
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:3
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid ""
|
||
"Ask a question about a local target. REA inspects and traces through local "
|
||
"analysis adapters, returns evidence, and supports follow-up questions as "
|
||
"your agent explains, implements and tests."
|
||
msgstr ""
|
||
"یک سوال در مورد یک هدف محلی بپرسید. REA از طریق آداپتورهای تجزیه و تحلیل "
|
||
"محلی بازرسی و ردیابی می کند ، شواهد را باز می گرداند و از سوالات پیگیری "
|
||
"پشتیبانی می کند زیرا نماینده شما توضیح می دهد ، اجرا می کند و آزمایش می کند."
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:19
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "1. Ask"
|
||
msgstr "۱. پرسش"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:20
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "Your agent + local target"
|
||
msgstr "دستیار + فایل محلی"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:21
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "App / binary / browser"
|
||
msgstr "برنامه / فایل / مرورگر"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:22
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "2. Inspect & trace"
|
||
msgstr "۲. بررسی و دنبال کردن"
|
||
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:24
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "CLI / MCP"
|
||
msgstr "CLI / MCP"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:25
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "3. Read the evidence"
|
||
msgstr "۳. خواندن شواهد"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:26
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "Code / references /"
|
||
msgstr "کد / ارجاعها /"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:27
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "unknowns"
|
||
msgstr "موارد نامشخص"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:28
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "4. Use what you learn"
|
||
msgstr "۴. استفاده از نتیجه"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:29
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "Your agent"
|
||
msgstr "دستیار شما"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:30
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "Explain / implement / test"
|
||
msgstr "توضیح / ساخت / آزمون"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:31
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "Analysis tools"
|
||
msgstr "ابزارهای تحلیل"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:32
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "Local analysis adapters"
|
||
msgstr "ابزارهای تحلیل محلی"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/rea-investigation-flow.svg:33
|
||
msgctxt "figure:rea-investigation-flow.svg"
|
||
msgid "Follow-up question"
|
||
msgstr "پرسش بعدی"
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:2
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "TH04: spacing and aiming a ring of bullets"
|
||
msgstr "TH04: فاصله و هدف قرار دادن یک حلقه گلوله"
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:3
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid ""
|
||
"A full clockwise turn has 256 angle units. Sixteen bullets start at angles "
|
||
"zero, sixteen, thirty-two, through 240. Adding an example player direction "
|
||
"of forty turns all sixteen directions together; the first bullet points at "
|
||
"the player. Template rotation is zero."
|
||
msgstr ""
|
||
"یک چرخش کامل در جهت عقربه های ساعت دارای 256 واحد زاویه است. شانزده گلوله از"
|
||
" زاویه صفر ، شانزده ، سی و دو تا 240 شروع می شود. اضافه کردن یک مثال جهت "
|
||
"بازیکن از چهل ، تمام شانزده جهت را با هم می چرخاند ؛ اولین نقاط گلوله در "
|
||
"بازیکن. چرخش قالب صفر است."
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:8
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "Fixed ring"
|
||
msgstr "حلقه ثابت"
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:9
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "First bullet: angle 0"
|
||
msgstr "گلوله اول: زاویه 0"
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:10
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "Aimed ring"
|
||
msgstr "حلقه هدف"
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:11
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "First bullet: player direction"
|
||
msgstr "گلوله اول: جهت بازیکن"
|
||
|
||
# Reviewed for technical meaning and concise diagram labels.
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:48
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:86
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "Origin"
|
||
msgstr "مرکز"
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:89
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "Player"
|
||
msgstr "بازیکن"
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:94
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "Same spacing: 256 ÷ 16 = 16 angle units = 22.5°"
|
||
msgstr "فاصله یکسان: 256 × 16 = 16 واحد زاویه = 22.5 درجه"
|
||
|
||
#: website/public/blog/index.html:109
|
||
#: website/public/blog/touhou-reconstruction/index.html:109
|
||
#: website/public/examples/dino-lab/index.html:110
|
||
#: website/public/faq/index.html:109
|
||
#: website/public/first-investigation/index.html:109
|
||
#: website/public/get-started/index.html:109
|
||
#: website/public/guides/browser/index.html:109
|
||
#: website/public/guides/index.html:109
|
||
#: website/public/guides/javascript/index.html:109
|
||
#: website/public/guides/native/index.html:109 website/public/index.html:111
|
||
#: website/public/showcase/aegis/index.html:110
|
||
#: website/public/showcase/ctf/index.html:109
|
||
#: website/public/showcase/dx-ball/index.html:109
|
||
#: website/public/showcase/index.html:109
|
||
#: website/public/showcase/notion/index.html:109
|
||
#: website/public/showcase/th04/index.html:109
|
||
msgctxt "shared"
|
||
msgid "Showcases"
|
||
msgstr "نمونهها"
|
||
|
||
#: website/public/blog/index.html:110
|
||
#: website/public/blog/touhou-reconstruction/index.html:110
|
||
#: website/public/examples/dino-lab/index.html:111
|
||
#: website/public/faq/index.html:110
|
||
#: website/public/first-investigation/index.html:110
|
||
#: website/public/get-started/index.html:110
|
||
#: website/public/guides/browser/index.html:110
|
||
#: website/public/guides/index.html:110
|
||
#: website/public/guides/javascript/index.html:110
|
||
#: website/public/guides/native/index.html:110 website/public/index.html:112
|
||
#: website/public/showcase/aegis/index.html:111
|
||
#: website/public/showcase/ctf/index.html:110
|
||
#: website/public/showcase/dx-ball/index.html:110
|
||
#: website/public/showcase/index.html:110
|
||
#: website/public/showcase/notion/index.html:110
|
||
#: website/public/showcase/th04/index.html:110
|
||
msgctxt "shared"
|
||
msgid "Blog"
|
||
msgstr "وبلاگ"
|
||
|
||
#: website/public/blog/index.html:111
|
||
#: website/public/blog/touhou-reconstruction/index.html:111
|
||
#: website/public/examples/dino-lab/index.html:112
|
||
#: website/public/faq/index.html:111
|
||
#: website/public/first-investigation/index.html:111
|
||
#: website/public/get-started/index.html:111
|
||
#: website/public/guides/browser/index.html:111
|
||
#: website/public/guides/index.html:111
|
||
#: website/public/guides/javascript/index.html:111
|
||
#: website/public/guides/native/index.html:111 website/public/index.html:113
|
||
#: website/public/showcase/aegis/index.html:112
|
||
#: website/public/showcase/ctf/index.html:111
|
||
#: website/public/showcase/dx-ball/index.html:111
|
||
#: website/public/showcase/index.html:111
|
||
#: website/public/showcase/notion/index.html:111
|
||
#: website/public/showcase/th04/index.html:111
|
||
msgctxt "shared"
|
||
msgid "Get started"
|
||
msgstr "شروع کنید"
|
||
|
||
#: website/public/blog/index.html:112
|
||
#: website/public/blog/touhou-reconstruction/index.html:112
|
||
#: website/public/examples/dino-lab/index.html:113
|
||
#: website/public/faq/index.html:112
|
||
#: website/public/first-investigation/index.html:112
|
||
#: website/public/get-started/index.html:112
|
||
#: website/public/guides/browser/index.html:112
|
||
#: website/public/guides/index.html:112
|
||
#: website/public/guides/javascript/index.html:112
|
||
#: website/public/guides/native/index.html:112 website/public/index.html:114
|
||
#: website/public/showcase/aegis/index.html:113
|
||
#: website/public/showcase/ctf/index.html:112
|
||
#: website/public/showcase/dx-ball/index.html:112
|
||
#: website/public/showcase/index.html:112
|
||
#: website/public/showcase/notion/index.html:112
|
||
#: website/public/showcase/th04/index.html:112
|
||
msgctxt "shared"
|
||
msgid "Guides"
|
||
msgstr "راهنماها"
|
||
|
||
#: website/public/blog/index.html:209
|
||
#: website/public/blog/touhou-reconstruction/index.html:1059
|
||
#: website/public/examples/dino-lab/index.html:454
|
||
#: website/public/faq/index.html:552
|
||
#: website/public/first-investigation/index.html:502
|
||
#: website/public/get-started/index.html:861
|
||
#: website/public/guides/browser/index.html:477
|
||
#: website/public/guides/index.html:261
|
||
#: website/public/guides/javascript/index.html:482
|
||
#: website/public/guides/native/index.html:488 website/public/index.html:1165
|
||
#: website/public/showcase/aegis/index.html:787
|
||
#: website/public/showcase/ctf/index.html:756
|
||
#: website/public/showcase/dx-ball/index.html:764
|
||
#: website/public/showcase/index.html:296
|
||
#: website/public/showcase/notion/index.html:610
|
||
#: website/public/showcase/th04/index.html:779
|
||
msgctxt "shared"
|
||
msgid "Source"
|
||
msgstr "کد منبع"
|
||
|
||
#: website/public/blog/index.html:210
|
||
#: website/public/blog/touhou-reconstruction/index.html:1060
|
||
#: website/public/examples/dino-lab/index.html:455
|
||
#: website/public/faq/index.html:553
|
||
#: website/public/first-investigation/index.html:503
|
||
#: website/public/get-started/index.html:862
|
||
#: website/public/guides/browser/index.html:478
|
||
#: website/public/guides/index.html:262
|
||
#: website/public/guides/javascript/index.html:483
|
||
#: website/public/guides/native/index.html:489 website/public/index.html:1166
|
||
#: website/public/showcase/aegis/index.html:788
|
||
#: website/public/showcase/ctf/index.html:757
|
||
#: website/public/showcase/dx-ball/index.html:765
|
||
#: website/public/showcase/index.html:297
|
||
#: website/public/showcase/notion/index.html:611
|
||
#: website/public/showcase/th04/index.html:780
|
||
msgctxt "shared"
|
||
msgid "MIT license"
|
||
msgstr "مجوز MIT"
|
||
|
||
#: website/public/blog/index.html:211
|
||
#: website/public/blog/touhou-reconstruction/index.html:1061
|
||
#: website/public/examples/dino-lab/index.html:456
|
||
#: website/public/faq/index.html:554
|
||
#: website/public/first-investigation/index.html:504
|
||
#: website/public/get-started/index.html:863
|
||
#: website/public/guides/browser/index.html:479
|
||
#: website/public/guides/index.html:263
|
||
#: website/public/guides/javascript/index.html:484
|
||
#: website/public/guides/native/index.html:490 website/public/index.html:1167
|
||
#: website/public/showcase/aegis/index.html:789
|
||
#: website/public/showcase/ctf/index.html:758
|
||
#: website/public/showcase/dx-ball/index.html:766
|
||
#: website/public/showcase/index.html:298
|
||
#: website/public/showcase/notion/index.html:612
|
||
#: website/public/showcase/th04/index.html:781
|
||
msgctxt "shared"
|
||
msgid "Join the community"
|
||
msgstr "به جامعه بپیوندید"
|
||
|
||
#: website/public/blog/index.html:212
|
||
#: website/public/blog/touhou-reconstruction/index.html:1062
|
||
#: website/public/examples/dino-lab/index.html:457
|
||
#: website/public/faq/index.html:555
|
||
#: website/public/first-investigation/index.html:505
|
||
#: website/public/get-started/index.html:864
|
||
#: website/public/guides/browser/index.html:480
|
||
#: website/public/guides/index.html:264
|
||
#: website/public/guides/javascript/index.html:485
|
||
#: website/public/guides/native/index.html:491 website/public/index.html:1168
|
||
#: website/public/showcase/aegis/index.html:790
|
||
#: website/public/showcase/ctf/index.html:759
|
||
#: website/public/showcase/dx-ball/index.html:767
|
||
#: website/public/showcase/index.html:299
|
||
#: website/public/showcase/notion/index.html:613
|
||
#: website/public/showcase/th04/index.html:782
|
||
msgctxt "shared"
|
||
msgid "Follow us on X"
|
||
msgstr "ما را در X دنبال کنید"
|
||
|
||
#: website/public/examples/dino-lab/index.html:293
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "REA · selected script source"
|
||
msgstr "REA * منبع اسکریپت انتخاب شده"
|
||
|
||
#: website/public/first-investigation/index.html:361
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Source"
|
||
msgstr "کد منبع"
|
||
|
||
#: website/public/first-investigation/index.html:415
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Expected formatter output"
|
||
msgstr "خروجی قالب مورد انتظار"
|
||
|
||
#: website/public/guides/index.html:206
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Instructions"
|
||
msgstr "دستورالعمل ها"
|
||
|
||
#: website/public/guides/index.html:207
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Caller"
|
||
msgstr "تماس گیرنده"
|
||
|
||
#: website/public/guides/index.html:208
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Constants"
|
||
msgstr "ثابت ها"
|
||
|
||
#: website/public/guides/index.html:209
|
||
msgctxt "page:guides/index.html"
|
||
msgid "C function"
|
||
msgstr "تابع C"
|
||
|
||
#: website/public/guides/index.html:224
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Button"
|
||
msgstr "دکمه"
|
||
|
||
#: website/public/guides/index.html:225
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Preload API"
|
||
msgstr "API پیش بارگذاری"
|
||
|
||
#: website/public/guides/index.html:226
|
||
msgctxt "page:guides/index.html"
|
||
msgid "IPC"
|
||
msgstr "IPC"
|
||
|
||
#: website/public/guides/index.html:226
|
||
msgctxt "page:guides/index.html"
|
||
msgid "CSV file"
|
||
msgstr "فایل CSV"
|
||
|
||
#: website/public/guides/index.html:246
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Your click"
|
||
msgstr "کلیک شما"
|
||
|
||
#: website/public/guides/index.html:247
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Captured request"
|
||
msgstr "درخواست ضبط شده"
|
||
|
||
#: website/public/guides/index.html:248
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Export script"
|
||
msgstr "اسکریپت صادرات"
|
||
|
||
#: website/public/guides/javascript/index.html:344
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "REA result · summary.ipc excerpt"
|
||
msgstr "REA نتیجه * خلاصه.گزیده ای از ipc"
|
||
|
||
#: website/public/guides/native/index.html:371
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "REA instruction excerpt · 0x406409"
|
||
msgstr "REA گزیده دستورالعمل * 0x406409"
|
||
|
||
#: website/public/guides/native/index.html:385
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "REA caller excerpt · 0x411f5b"
|
||
msgstr "REA گزیده تماس گیرنده * 0x411f5b"
|
||
|
||
#: website/public/guides/native/index.html:399
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "REA byte results · interpreted as little-endian doubles"
|
||
msgstr "نتایج بایت REA * به عنوان دو برابر اندک تفسیر می شود"
|
||
|
||
#: website/public/guides/native/index.html:416
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Recovered C · excerpt"
|
||
msgstr "بازیابی C * گزیده"
|
||
|
||
#: website/public/index.html:219
|
||
msgctxt "page:index.html"
|
||
msgid "See how REA works ↓"
|
||
msgstr "ببینید REA چطور کار میکند ↓"
|
||
|
||
#: website/public/index.html:220
|
||
msgctxt "page:index.html"
|
||
msgid "Setup guide"
|
||
msgstr "راهنمای نصب"
|
||
|
||
#: website/public/index.html:221
|
||
msgctxt "page:index.html"
|
||
msgid "Showcases →"
|
||
msgstr "ویترین ها →"
|
||
|
||
#: website/public/index.html:731
|
||
msgctxt "page:index.html"
|
||
msgid "Selected settings from the inspected script"
|
||
msgstr "تنظیمات انتخاب شده از اسکریپت بازرسی شده"
|
||
|
||
#: website/public/index.html:903
|
||
msgctxt "page:index.html"
|
||
msgid "Readable summary of the % handler"
|
||
msgstr "خلاصه قابل خواندن از % handler"
|
||
|
||
#: website/public/index.html:967
|
||
msgctxt "page:index.html"
|
||
msgid "REA · selected original instructions"
|
||
msgstr "REA * دستورالعمل های اصلی انتخاب شده"
|
||
|
||
#: website/public/index.html:978
|
||
msgctxt "page:index.html"
|
||
msgid "Operator IDs · Microsoft’s source"
|
||
msgstr "شناسه های اپراتور * منبع مایکروسافت"
|
||
|
||
#: website/public/index.html:1152
|
||
msgctxt "page:index.html"
|
||
msgid "Follow @reatools on X"
|
||
msgstr "@Reatools را در X دنبال کنید"
|
||
|
||
#: website/public/showcase/aegis/index.html:386
|
||
#: website/public/showcase/aegis/index.html:418
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Agent → REA"
|
||
msgstr "نماینده → REA"
|
||
|
||
#: website/public/showcase/aegis/index.html:396
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "REA → agent · selected results"
|
||
msgstr "REA → عامل * نتایج انتخاب شده"
|
||
|
||
#: website/public/showcase/aegis/index.html:432
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "REA → agent · methods and callers"
|
||
msgstr "REA → عامل * روش ها و تماس گیرندگان"
|
||
|
||
#: website/public/showcase/aegis/index.html:502
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "REA · selected decompiled Java"
|
||
msgstr "REA * جاوا تجزیه شده انتخاب شده"
|
||
|
||
#: website/public/showcase/aegis/index.html:532
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Readable summary · agent's interpretation"
|
||
msgstr "خلاصه قابل خواندن * تفسیر نماینده"
|
||
|
||
#: website/public/showcase/aegis/index.html:587
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "REA · generateOTP, complete body"
|
||
msgstr "REA * generateOTP ، بدن کامل"
|
||
|
||
#: website/public/showcase/aegis/index.html:705
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Download Aegis APK"
|
||
msgstr "دانلود Aegis APK"
|
||
|
||
#: website/public/showcase/aegis/index.html:709
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Download Android analysis provider"
|
||
msgstr "دانلود analysis provider اندروید"
|
||
|
||
#: website/public/showcase/ctf/index.html:289
|
||
#: website/public/showcase/ctf/index.html:325
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Agent → REA"
|
||
msgstr "نماینده → REA"
|
||
|
||
#: website/public/showcase/ctf/index.html:305
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "REA → agent · selected results"
|
||
msgstr "REA → عامل * نتایج انتخاب شده"
|
||
|
||
#: website/public/showcase/ctf/index.html:337
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "REA → agent · selected instructions"
|
||
msgstr "REA → عامل * دستورالعمل های انتخاب شده"
|
||
|
||
#: website/public/showcase/ctf/index.html:400
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Agent → REA · read_bytes"
|
||
msgstr "نماینده → REA * read_bytes"
|
||
|
||
#: website/public/showcase/ctf/index.html:407
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "REA → agent · seventh entries"
|
||
msgstr "REA → عامل * ورودی های هفتم"
|
||
|
||
#: website/public/showcase/ctf/index.html:675
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Original executable · SHA-256"
|
||
msgstr "اجرایی اصلی * SHA-256"
|
||
|
||
#: website/public/showcase/ctf/index.html:711
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Download the original challenge"
|
||
msgstr "دانلود چالش اصلی"
|
||
|
||
#: website/public/showcase/ctf/index.html:715
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Download solver"
|
||
msgstr "دانلود حل کننده"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:316
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "REA result · pseudocode excerpt"
|
||
msgstr "نتیجه REA * گزیده شبه کد"
|
||
|
||
#. {ph0}: <code>analyze_function</code>
|
||
#: website/public/showcase/dx-ball/index.html:339
|
||
#: website/public/showcase/dx-ball/index.html:363
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Agent → REA · {ph0}"
|
||
msgstr "نماینده → REA · {ph0}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:345
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "REA → agent · instruction excerpt"
|
||
msgstr "REA → عامل * گزیده دستورالعمل"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:369
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "REA → agent · caller excerpt"
|
||
msgstr "REA → نماینده * گزیده تماس گیرنده"
|
||
|
||
#. {ph0}: <code>read_bytes</code>
|
||
#: website/public/showcase/dx-ball/index.html:387
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Agent → REA · two {ph0} requests"
|
||
msgstr "عامل → REA * دو {ph0} درخواست ها"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:397
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "REA byte results · decoded as doubles"
|
||
msgstr "نتایج بایت REA · رمزگشایی به عنوان دو برابر"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:750
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Start with your own target"
|
||
msgstr "با هدف خود شروع کنید"
|
||
|
||
#: website/public/showcase/index.html:199
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "APK"
|
||
msgstr "APK"
|
||
|
||
#: website/public/showcase/index.html:200
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Generating code"
|
||
msgstr "تولید کد"
|
||
|
||
#: website/public/showcase/index.html:201
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Recovered rule"
|
||
msgstr "قانون بازیابی شده"
|
||
|
||
#: website/public/showcase/index.html:202
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Adjustable clock"
|
||
msgstr "ساعت قابل تنظیم"
|
||
|
||
#: website/public/showcase/index.html:217
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Binary"
|
||
msgstr "باینری"
|
||
|
||
#: website/public/showcase/index.html:218
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Checking code"
|
||
msgstr "چک کردن کد"
|
||
|
||
#: website/public/showcase/index.html:219
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Equations"
|
||
msgstr "معادلات"
|
||
|
||
#: website/public/showcase/index.html:220
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Correct!"
|
||
msgstr "درست است!"
|
||
|
||
#: website/public/showcase/index.html:236
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Executable"
|
||
msgstr "قابل اجرا"
|
||
|
||
#: website/public/showcase/index.html:237
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "REA findings"
|
||
msgstr "یافته های REA"
|
||
|
||
#: website/public/showcase/index.html:238
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Recovered C"
|
||
msgstr "بازیابی C"
|
||
|
||
#: website/public/showcase/index.html:239
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Validation"
|
||
msgstr "اعتبار سنجی"
|
||
|
||
#: website/public/showcase/index.html:254
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Packaged app"
|
||
msgstr "برنامه بسته بندی شده"
|
||
|
||
#: website/public/showcase/index.html:255
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Exposed API"
|
||
msgstr "Api در معرض"
|
||
|
||
#: website/public/showcase/index.html:256
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "IPC wrappers"
|
||
msgstr "بسته بندی IPC"
|
||
|
||
#: website/public/showcase/index.html:257
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Clipboard"
|
||
msgstr "کلیپ بورد"
|
||
|
||
#: website/public/showcase/index.html:272
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Original DOS code"
|
||
msgstr "کد اصلی DOS"
|
||
|
||
#: website/public/showcase/index.html:273
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "REA instructions"
|
||
msgstr "REA دستورالعمل"
|
||
|
||
#: website/public/showcase/index.html:274
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Angle calculation"
|
||
msgstr "محاسبه زاویه"
|
||
|
||
#: website/public/showcase/index.html:275
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Bullet ring"
|
||
msgstr "حلقه گلوله"
|
||
|
||
#: website/public/showcase/notion/index.html:291
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Exposed page API"
|
||
msgstr "Api صفحه در معرض"
|
||
|
||
#: website/public/showcase/notion/index.html:297
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Renderer IPC call"
|
||
msgstr "رندر IPC تماس"
|
||
|
||
#: website/public/showcase/notion/index.html:459
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Sent to the system clipboard"
|
||
msgstr "ارسال به کلیپ بورد سیستم"
|
||
|
||
#: website/public/showcase/notion/index.html:467
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Saved locally by Notion"
|
||
msgstr "ذخیره شده به صورت محلی توسط Notion"
|
||
|
||
#: website/public/showcase/notion/index.html:512
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Markdown input"
|
||
msgstr "ورودی Markdown"
|
||
|
||
#: website/public/showcase/notion/index.html:519
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Structured parser output · excerpt"
|
||
msgstr "خروجی تجزیه کننده ساختاری · گزیده"
|
||
|
||
#: website/public/showcase/notion/index.html:596
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Analyze your own app"
|
||
msgstr "برنامه خود را تجزیه و تحلیل کنید"
|
||
|
||
#: website/public/showcase/th04/index.html:356
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Agent → REA"
|
||
msgstr "نماینده → REA"
|
||
|
||
#: website/public/showcase/th04/index.html:365
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "REA → agent · selected fields"
|
||
msgstr "REA → عامل * زمینه های انتخاب شده"
|
||
|
||
#. {ph0}: <code>analyze_function</code>
|
||
#: website/public/showcase/th04/index.html:384
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Agent → REA · {ph0}"
|
||
msgstr "نماینده → REA · {ph0}"
|
||
|
||
#: website/public/showcase/th04/index.html:390
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "REA → agent · instruction excerpt"
|
||
msgstr "REA → عامل * گزیده دستورالعمل"
|
||
|
||
#: website/public/showcase/th04/index.html:411
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Same function result · aim excerpt"
|
||
msgstr "نتیجه عملکرد مشابه * گزیده aim"
|
||
|
||
#: website/public/showcase/th04/index.html:420
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Corresponding maintained C++"
|
||
msgstr "C نگهداری شده مربوطه++"
|
||
|
||
#: website/public/showcase/th04/index.html:600
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Ring macro · TH04 branch, excerpt"
|
||
msgstr "حلقه ماکرو * TH04 شاخه ، گزیده"
|
||
|
||
#: website/public/showcase/th04/index.html:610
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Angle and velocity · source excerpt"
|
||
msgstr "زاویه و سرعت * منبع گزیده"
|
||
|
||
#: website/public/assets/home.js:29
|
||
msgctxt "runtime"
|
||
msgid "Press % to see what happens to 10."
|
||
msgstr "% را فشار دهید تا ببینید چه اتفاقی برای 10 می افتد."
|
||
|
||
#: website/public/assets/home.js:32
|
||
msgctxt "runtime"
|
||
msgid "10% of 200 is 20. Press = to add it."
|
||
msgstr "10% از 200 20 = را فشار دهید تا اضافه شود ."
|
||
|
||
#: website/public/assets/home.js:33
|
||
msgctxt "runtime"
|
||
msgid "For multiplication, 10 becomes 0.1. Press = to multiply."
|
||
msgstr "برای ضرب ، 10 0.1 می شود. = را فشار دهید تا ضرب شود ."
|
||
|
||
#: scripts/website_i18n.py
|
||
msgctxt "runtime"
|
||
msgid "Translation is being updated. Read this page in English for now."
|
||
msgstr ""
|
||
"ترجمه در حال به روز رسانی است. فعلا این صفحه را به زبان انگلیسی بخوانید."
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="faq-analysis-prompt" >
|
||
#. {ph3}: <span translate="no">/absolute/path/to/app</span>
|
||
#. {ph4}: </span >
|
||
#. {ph5}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph6}: </span>
|
||
#: website/public/faq/index.html:412
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to analyze {ph3} and explain how it exports data. "
|
||
"Show the relevant code and source locations.{ph4}{ph5}{ph6}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}برای تجزیه و تحلیل از REA استفاده کنید {ph3} و توضیح دهید که"
|
||
" چگونه داده ها را صادر می کند. مکان های کد و منبع مربوطه را نشان "
|
||
"دهید.{ph4}{ph5}{ph6}"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="first-install-prompt" >
|
||
#. {ph3}: <span translate="no">npx rea-agents@latest setup</span>
|
||
#. {ph4}: </span >
|
||
#. {ph5}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph6}: </span>
|
||
#: website/public/first-investigation/index.html:230
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Install REA and connect it to this coding agent using {ph3}."
|
||
" Show me the setup plan for approval, then verify the "
|
||
"installation.{ph4}{ph5}{ph6}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}REA را با {ph3} نصب کن و به این دستیار برنامهنویسی متصل کن."
|
||
" ابتدا برنامهٔ تغییرات را نشان بده و منتظر تأیید من بمان. سپس نصب را بررسی "
|
||
"کن.{ph4}{ph5}{ph6}"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="first-analysis-prompt" >
|
||
#. {ph3}: <span translate="no" >https://rea.tools/examples/notes-
|
||
#. example.zip</span >
|
||
#. {ph4}: <span translate="no">notes.csv</span>
|
||
#. {ph5}: </span >
|
||
#. {ph6}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph7}: </span>
|
||
#: website/public/first-investigation/index.html:280
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Download {ph3} into a new example folder and unpack it. Use "
|
||
"REA to find what happens when I click Export notes. Show where {ph4} is "
|
||
"written, which fields it contains, and the relevant files and "
|
||
"lines.{ph5}{ph6}{ph7}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}دانلود فیلم {ph3} به یک پوشه مثال جدید بروید و آن را باز "
|
||
"کنید. با استفاده از REA برای پیدا کردن آنچه اتفاق می افتد زمانی که من کلیک "
|
||
"کنید صادرات یادداشت. نشان می دهد که در آن {ph4} نوشته شده است ، چه زمینه "
|
||
"هایی را شامل می شود ، و فایل ها و خطوط مربوطه.{ph5}{ph6}{ph7}"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="agent-install-prompt" >
|
||
#. {ph3}: <span translate="no">npx rea-agents@latest setup</span>
|
||
#. {ph4}: </span >
|
||
#. {ph5}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph6}: </span>
|
||
#: website/public/get-started/index.html:419
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Install REA and connect it to this coding agent using {ph3}."
|
||
" Show me the setup plan for approval, then verify the "
|
||
"installation.{ph4}{ph5}{ph6}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}REA را با {ph3} نصب کن و به این دستیار برنامهنویسی متصل کن."
|
||
" ابتدا برنامهٔ تغییرات را نشان بده و منتظر تأیید من بمان. سپس نصب را بررسی "
|
||
"کن.{ph4}{ph5}{ph6}"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="home-install-prompt" >
|
||
#. {ph3}: <span translate="no">npx rea-agents@latest setup</span>
|
||
#. {ph4}: </span >
|
||
#. {ph5}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph6}: </span>
|
||
#: website/public/index.html:251
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Install REA and connect it to this coding agent using {ph3}."
|
||
" Show me the setup plan for approval, then verify the "
|
||
"installation.{ph4}{ph5}{ph6}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}REA را با {ph3} نصب کن و به این دستیار برنامهنویسی متصل کن."
|
||
" ابتدا برنامهٔ تغییرات را نشان بده و منتظر تأیید من بمان. سپس نصب را بررسی "
|
||
"کن.{ph4}{ph5}{ph6}"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="website-project-prompt" >
|
||
#. {ph3}: <span translate="no">https://rea.tools/</span>
|
||
#. {ph4}: </span >
|
||
#. {ph5}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph6}: </span>
|
||
#: website/public/index.html:1054
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to inspect {ph3}. Clone this website for "
|
||
"me.{ph4}{ph5}{ph6}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}برای بازرسی از REA استفاده کنید {ph3}. این وب سایت را برای "
|
||
"من کلان کنید.{ph4}{ph5}{ph6}"
|
||
|
||
#. {ph0}: <span translate="no">dino-speed.js</span>
|
||
#: website/public/examples/dino-lab/index.html:307
|
||
#, python-brace-format
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Reconstruction · {ph0}"
|
||
msgstr "بازسازی · {ph0}"
|
||
|
||
#. {ph0}: <span translate="no">Node.js</span>
|
||
#: website/public/faq/index.html:205
|
||
#, python-brace-format
|
||
msgctxt "page:faq/index.html"
|
||
msgid ""
|
||
"With {ph0} and npm available, run setup, choose your coding agent and review"
|
||
" the proposed changes."
|
||
msgstr ""
|
||
"با {ph0} و npm در دسترس ، راه اندازی را اجرا کنید ، عامل کدگذاری خود را "
|
||
"انتخاب کنید و تغییرات پیشنهادی را بررسی کنید."
|
||
|
||
#. {ph0}: <span translate="no">Node.js</span>
|
||
#: website/public/first-investigation/index.html:189
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "A supplied example · {ph0} and npm · Your coding agent"
|
||
msgstr "یک مثال ارائه شده · {ph0} و npm * عامل کدگذاری شما"
|
||
|
||
#. {ph0}: <span translate="no">Node.js</span>
|
||
#. {ph1}: <a href="../get-started/">
|
||
#. {ph2}: </a >
|
||
#: website/public/first-investigation/index.html:208
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"Use a coding agent such as Claude Code, Codex or Cursor. You’ll need {ph0} "
|
||
"and npm; the {ph1}setup guide lists supported versions{ph2}."
|
||
msgstr ""
|
||
"از یک عامل کدگذاری مانند Claude Code, Codex یا Cursor. شما نیاز دارید {ph0} "
|
||
"و npm; {ph1}راهنمای راه اندازی لیست نسخه های پشتیبانی شده{ph2}."
|
||
|
||
#. {ph0}: <span class="flow-label" >
|
||
#. {ph1}: <span translate="no">renderer.js</span>
|
||
#. {ph2}: </span >
|
||
#. {ph3}: <span class="flow-node">
|
||
#. {ph4}: </span >
|
||
#. {ph5}: <span class="flow-note" >
|
||
#. {ph6}: <code>notes.exportCsv()</code>
|
||
#. {ph7}: </span >
|
||
#: website/public/first-investigation/index.html:326
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0}Page · {ph1}{ph2}{ph3}Export notes{ph4}{ph5}Calls {ph6}.{ph7}"
|
||
msgstr ""
|
||
"{ph0}صفحه · {ph1}{ph2}{ph3}یادداشت های صادراتی{ph4}{ph5}تماس ها {ph6}.{ph7}"
|
||
|
||
#. {ph0}: <span class="flow-label" >
|
||
#. {ph1}: <span translate="no">preload.js</span>
|
||
#. {ph2}: </span >
|
||
#. {ph3}: <span class="flow-node">
|
||
#. {ph4}: <code>notes:export</code>
|
||
#. {ph5}: </span >
|
||
#. {ph6}: <span class="flow-note" >
|
||
#. {ph7}: </span >
|
||
#: website/public/first-investigation/index.html:334
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"{ph0}Bridge · {ph1}{ph2}{ph3}{ph4}{ph5}{ph6}Sends a named message to the "
|
||
"main process.{ph7}"
|
||
msgstr ""
|
||
"{ph0}پل · {ph1}{ph2}{ph3}{ph4}{ph5}{ph6}یک پیام نامگذاری شده به فرآیند اصلی "
|
||
"می فرستد.{ph7}"
|
||
|
||
#. {ph0}: <span class="flow-label" >
|
||
#. {ph1}: <span translate="no">main.js</span>
|
||
#. {ph2}: </span >
|
||
#. {ph3}: <span class="flow-node" >
|
||
#. {ph4}: <span translate="no">notes.csv</span>
|
||
#. {ph5}: </span >
|
||
#. {ph6}: <span class="flow-note" >
|
||
#. {ph7}: <code>csv.js</code>
|
||
#. {ph8}: </span >
|
||
#: website/public/first-investigation/index.html:342
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"{ph0}Handler · {ph1}{ph2}{ph3}Write {ph4}{ph5}{ph6}Calls the formatter in "
|
||
"{ph7} and writes the file.{ph8}"
|
||
msgstr ""
|
||
"{ph0}کنترل کننده · {ph1}{ph2}{ph3}بنویسید {ph4}{ph5}{ph6}تماس با قالب ساز در"
|
||
" {ph7} و فایل را می نویسد.{ph8}"
|
||
|
||
#. {ph0}: <span translate="no">main.js</span>
|
||
#: website/public/first-investigation/index.html:360
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0} · lines 8–12"
|
||
msgstr "{ph0} * خطوط 8-12"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="first-check-prompt" >
|
||
#. {ph3}: <span translate="no">Hello, "REA"</span>
|
||
#. {ph4}: <span translate="no">toCsv</span>
|
||
#. {ph5}: <span translate="no">Node.js</span>
|
||
#. {ph6}: </span >
|
||
#. {ph7}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph8}: </span>
|
||
#: website/public/first-investigation/index.html:402
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Predict the CSV for a note with id 1 and title {ph3}. Then "
|
||
"run the example’s {ph4} formatter with {ph5} to check it. Show the "
|
||
"prediction and actual output.{ph6}{ph7}{ph8}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}پیش بینی CSV برای یک یادداشت با id 1 و عنوان {ph3}. سپس مثال"
|
||
" را اجرا کنید {ph4} قالب بندی با {ph5} برای بررسی پیش بینی و خروجی واقعی را "
|
||
"نشان دهید.{ph6}{ph7}{ph8}"
|
||
|
||
#. {ph0}: <span translate="no">Node.js</span>
|
||
#: website/public/first-investigation/index.html:420
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid ""
|
||
"The title stays in one quoted field; each quotation mark is doubled. This "
|
||
"checks the formatter directly with {ph0}."
|
||
msgstr ""
|
||
"عنوان در یک فیلد نقل قول شده باقی می ماند ؛ هر علامت نقل قول دو برابر می "
|
||
"شود. این قالب را مستقیما با {ph0}."
|
||
|
||
#. {ph0}: <span translate="no">Node.js</span>
|
||
#: website/public/first-investigation/index.html:433
|
||
#, python-brace-format
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "{ph0} · CSV formatter"
|
||
msgstr "{ph0} · CSV قالب ساز"
|
||
|
||
#. {ph0}: <span translate="no">Node.js</span>
|
||
#. {ph1}: <span translate="no">Node.js</span>
|
||
#: website/public/get-started/index.html:187
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"You'll need {ph0} 22 (22.19+), 24 (24.11+) or 26+. npm comes with {ph1}."
|
||
msgstr ""
|
||
"شما نیاز دارید {ph0} 22 (22.19+), 24 (24.11+) یا 26+ npm همراه با {ph1}."
|
||
|
||
#. {ph0}: <span translate="no">Node.js</span>
|
||
#: website/public/get-started/index.html:192
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Don't have {ph0}, or not sure?"
|
||
msgstr "ندارم {ph0}، یا مطمئن نیستید ؟ "
|
||
|
||
#. {ph0}: <code>node -v</code>
|
||
#. {ph1}: <span translate="no">Node.js</span>
|
||
#: website/public/get-started/index.html:211
|
||
#, python-brace-format
|
||
msgctxt "page:get-started/index.html"
|
||
msgid ""
|
||
"If {ph0} prints v22.19+, v24.11+ or v26+, you're ready. If it prints an "
|
||
"older version or \"not recognized\" / \"command not found\", install {ph1} "
|
||
"24 LTS:"
|
||
msgstr ""
|
||
"اگر {ph0} چاپ v22. 19+ ، v24.11 + یا v26+ ، شما آماده هستید. اگر نسخه قدیمی "
|
||
"تر را چاپ کند یا \"شناخته نشده\" / \"دستور پیدا نشده\" را نصب کند {ph1} 24 "
|
||
"لیتر:"
|
||
|
||
#. {ph0}: <span translate="no">export.js</span>
|
||
#: website/public/guides/browser/index.html:428
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "{ph0} · example source excerpt"
|
||
msgstr "{ph0} * نمونه منبع گزیده"
|
||
|
||
#. {ph0}: <a href="../../examples/notes-web/">
|
||
#. {ph1}: </a>
|
||
#. {ph2}: <a href="../../examples/notes-web/export.js" download >
|
||
#. {ph3}: <span translate="no">export.js</span>
|
||
#. {ph4}: </a >
|
||
#. {ph5}: <a href="../../examples/notes-web/notes.json" download >
|
||
#. {ph6}: <span translate="no">notes.json</span>
|
||
#. {ph7}: </a >
|
||
#: website/public/guides/browser/index.html:446
|
||
#, python-brace-format
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid ""
|
||
"{ph0}Open the example{ph1} · {ph2}Download {ph3}{ph4} · {ph5}Download "
|
||
"{ph6}{ph7}"
|
||
msgstr ""
|
||
"{ph0}مثال را باز کنید{ph1} · {ph2}دانلود فیلم {ph3}{ph4} · {ph5}دانلود فیلم "
|
||
"{ph6}{ph7}"
|
||
|
||
#. {ph0}: <span translate="no">renderer.js</span>
|
||
#: website/public/guides/javascript/index.html:296
|
||
#: website/public/guides/javascript/index.html:312
|
||
#: website/public/guides/javascript/index.html:327
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "{ph0} · example source"
|
||
msgstr "{ph0} * منبع نمونه"
|
||
|
||
#. {ph0}: <code>notes-example</code>
|
||
#. {ph1}: <span translate="no">Node.js</span>
|
||
#: website/public/guides/javascript/index.html:361
|
||
#, python-brace-format
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid ""
|
||
"Download the example and unzip it. The archive contains the complete {ph0} "
|
||
"folder. Analyze it with {ph1} and npm; Electron is not needed for this "
|
||
"example."
|
||
msgstr ""
|
||
"مثال را دانلود کنید و آن را باز کنید. آرشیو شامل کامل {ph0} پوشه. تجزیه و "
|
||
"تحلیل آن با {ph1} و npm; Electron برای این مثال لازم نیست."
|
||
|
||
#. {ph0}: <span translate="no">Node.js</span>
|
||
#. {ph1}: <a href="get-started/">
|
||
#. {ph2}: </a>
|
||
#: website/public/index.html:276
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"First time, or missing {ph0} or a coding agent? {ph1}Follow the step-by-step"
|
||
" setup guide →{ph2}"
|
||
msgstr ""
|
||
"اولین بار یا گمشده {ph0} یا یک عامل برنامه نویسی ؟ {ph1}راهنمای راه اندازی "
|
||
"گام به گام را دنبال کنید →{ph2}"
|
||
|
||
#. {ph0}: <strong >
|
||
#. {ph1}: <span translate="no">200 + 10%</span>
|
||
#. {ph2}: </strong >
|
||
#: website/public/index.html:300
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "One question: {ph0}why does Calculator give 220 for {ph1}?{ph2}"
|
||
msgstr "مثلاً: {ph0}چرا ماشینحساب برای {ph1} عدد 220 را میدهد؟{ph2}"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="home-analysis-prompt" >
|
||
#. {ph3}: <span translate="no">200 + 10%</span>
|
||
#. {ph4}: </span >
|
||
#. {ph5}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph6}: </span>
|
||
#: website/public/index.html:488
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to inspect Windows Calculator. Why does {ph3} give "
|
||
"220?{ph4}{ph5}{ph6}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}استفاده کنید REA برای بازرسی Windows ماشین حساب. چرا {ph3} "
|
||
"220 می دهند؟{ph4}{ph5}{ph6}"
|
||
|
||
#. {ph0}: <span translate="no">index.js</span>
|
||
#: website/public/index.html:673
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "REA · loaded {ph0} · selected lines"
|
||
msgstr "REA * بارگذاری شده {ph0} * خطوط انتخاب شده"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: <span translate="no">200 + 10%</span>
|
||
#. {ph2}: </strong>
|
||
#: website/public/index.html:777
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"We saw why {ph0}{ph1} gives 220.{ph2} Now let’s recover the rules for both +"
|
||
" and ×, and try them."
|
||
msgstr ""
|
||
"دیدیم چرا {ph0}{ph1} می دهد 220.{ph2} حالا بیایید قوانین هر دو + و × را "
|
||
"بازیابی کنیم و آنها را امتحان کنیم."
|
||
|
||
#. {ph0}: <span class="flow-label" >
|
||
#. {ph1}: <span translate="no">calc.exe</span>
|
||
#. {ph2}: </span >
|
||
#. {ph3}: <span class="flow-node">
|
||
#. {ph4}: </span >
|
||
#. {ph5}: <span class="flow-note" >
|
||
#. {ph6}: <code>ms-calculator:</code>
|
||
#. {ph7}: </span >
|
||
#: website/public/index.html:934
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"{ph0}01 · REA reads {ph1}{ph2}{ph3}It launches the Calculator "
|
||
"app{ph4}{ph5}The code opens {ph6}. The agent then selects the installed "
|
||
"app’s library.{ph7}"
|
||
msgstr ""
|
||
"{ph0}01 * REA می خواند {ph1}{ph2}{ph3}برنامه ماشین حساب را راه اندازی می "
|
||
"کند{ph4}{ph5}کد باز می شود {ph6}. سپس نماینده کتابخانه برنامه نصب شده را "
|
||
"انتخاب می کند.{ph7}"
|
||
|
||
#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
|
||
#. {ph1}: </span >
|
||
#. {ph2}: <span id="aegis-prompt" >
|
||
#. {ph3}: <span translate="no" >3.apk</span >
|
||
#. {ph4}: </span >
|
||
#. {ph5}: <span class="terminal-cursor" aria-hidden="true">
|
||
#. {ph6}: </span>
|
||
#: website/public/showcase/aegis/index.html:265
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid ""
|
||
"{ph0}›{ph1}{ph2}Use REA to inspect aegis-v3.4.{ph3}. Find how it generates "
|
||
"the six-digit login code, explain why it changes every 30 seconds, and "
|
||
"rebuild a small demo where I can change the time.{ph4}{ph5}{ph6}"
|
||
msgstr ""
|
||
"{ph0}›{ph1}{ph2}استفاده کنید REA برای بازرسی aegis-v3.4.{ph3}. پیدا کنید که "
|
||
"چگونه کد ورود شش رقمی را تولید می کند ، توضیح دهید که چرا هر 30 ثانیه تغییر "
|
||
"می کند ، و یک نمایشی کوچک را بازسازی کنید که در آن می توانم زمان را تغییر "
|
||
"دهم.{ph4}{ph5}{ph6}"
|
||
|
||
#. {ph0}: <span translate="no">preload.js</span>
|
||
#: website/public/showcase/notion/index.html:329
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "tab_browser_view/{ph0} · API member"
|
||
msgstr "tab_browser_view/{ph0} * عضو API"
|
||
|
||
#. {ph0}: <span translate="no">preload.js</span>
|
||
#: website/public/showcase/notion/index.html:358
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "tab_browser_view/{ph0} · IPC helper"
|
||
msgstr "tab_browser_view/{ph0} * کمک کننده IPC"
|
||
|
||
#. {ph0}: <span translate="no">index.js</span>
|
||
#: website/public/showcase/notion/index.html:389
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "main/{ph0} · handler helper"
|
||
msgstr "اصلی/{ph0} * handler helper"
|
||
|
||
#. {ph0}: <span translate="no">index.js</span>
|
||
#: website/public/showcase/notion/index.html:417
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "main/{ph0} · clipboard receiver"
|
||
msgstr "اصلی/{ph0} * گیرنده کلیپ بورد"
|
||
|
||
#~ msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
#~ msgid "DXBALL.EXE"
|
||
#~ msgstr "DXBALL.EXE"
|
||
|
||
#~ msgctxt "page:examples/dino-lab/index.html"
|
||
#~ msgid "Reconstruction · dino-speed.js"
|
||
#~ msgstr "بازسازی * دینو-سرعت.js"
|
||
|
||
#~ msgctxt "page:faq/index.html"
|
||
#~ msgid ""
|
||
#~ "With Node.js and npm available, run setup, choose your coding agent and "
|
||
#~ "review the proposed changes."
|
||
#~ msgstr ""
|
||
#~ "با Node.js و npm در دسترس ، راه اندازی را اجرا کنید ، عامل کدگذاری خود را "
|
||
#~ "انتخاب کنید و تغییرات پیشنهادی را بررسی کنید."
|
||
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid "A supplied example · Node.js and npm · Your coding agent"
|
||
#~ msgstr "یک مثال ارائه شده · Node.js و npm * عامل کدگذاری شما"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid ""
|
||
#~ "Use a coding agent such as Claude Code, Codex or Cursor. You’ll need Node.js"
|
||
#~ " and npm; the {ph0}setup guide lists supported versions{ph1}."
|
||
#~ msgstr ""
|
||
#~ "از یک عامل کدگذاری مانند Claude Code, Codex یا Cursor. شما نیاز دارید "
|
||
#~ "Node.js و npm; {ph0}راهنمای راه اندازی لیست نسخه های پشتیبانی شده{ph1}."
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Page · renderer.js{ph1}{ph2}Export notes{ph3}{ph4}Calls {ph5}.{ph6}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}صفحه * رندر.js{ph1}{ph2}یادداشت های صادراتی{ph3}{ph4}تماس ها "
|
||
#~ "{ph5}.{ph6}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Bridge · preload.js{ph1}{ph2}{ph3}{ph4}{ph5}Sends a named message to "
|
||
#~ "the main process.{ph6}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}پل * پیش بار.js{ph1}{ph2}{ph3}{ph4}{ph5}یک پیام نامگذاری شده به فرآیند "
|
||
#~ "اصلی می فرستد.{ph6}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Handler · main.js{ph1}{ph2}Write notes.csv{ph3}{ph4}Calls the formatter"
|
||
#~ " in {ph5} and writes the file.{ph6}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}Handler * اصلی.js{ph1}{ph2}یادداشت بنویسید.csv{ph3}{ph4}تماس با قالب "
|
||
#~ "ساز در {ph5} و فایل را می نویسد.{ph6}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}›{ph1}{ph2}Predict the CSV for a note with id 1 and title Hello, "
|
||
#~ "\"REA\". Then run the example’s toCsv formatter with Node.js to check it. "
|
||
#~ "Show the prediction and actual output.{ph3}{ph4}{ph5}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}›{ph1}{ph2}پیش بینی CSV برای یک یادداشت با id 1 و عنوان سلام, \"REA\". "
|
||
#~ "سپس فرمت tocsv نمونه را با Node.js برای بررسی پیش بینی و خروجی واقعی را نشان"
|
||
#~ " دهید.{ph3}{ph4}{ph5}"
|
||
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid ""
|
||
#~ "The title stays in one quoted field; each quotation mark is doubled. This "
|
||
#~ "checks the formatter directly with Node.js."
|
||
#~ msgstr ""
|
||
#~ "عنوان در یک فیلد نقل قول شده باقی می ماند ؛ هر علامت نقل قول دو برابر می "
|
||
#~ "شود. این قالب را مستقیما با Node.js."
|
||
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid "Node.js · CSV formatter"
|
||
#~ msgstr "Node.js · CSV قالب ساز"
|
||
|
||
#~ msgctxt "page:get-started/index.html"
|
||
#~ msgid ""
|
||
#~ "You'll need Node.js 22 (22.19+), 24 (24.11+) or 26+. npm comes with Node.js."
|
||
#~ msgstr ""
|
||
#~ "شما نیاز دارید Node.js 22 (22.19+), 24 (24.11+) یا 26+ npm همراه با Node.js."
|
||
|
||
#~ msgctxt "page:get-started/index.html"
|
||
#~ msgid "Don't have Node.js, or not sure?"
|
||
#~ msgstr "ندارم Node.js، یا مطمئن نیستید ؟ "
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:get-started/index.html"
|
||
#~ msgid ""
|
||
#~ "If {ph0} prints v22.19+, v24.11+ or v26+, you're ready. If it prints an "
|
||
#~ "older version or \"not recognized\" / \"command not found\", install Node.js"
|
||
#~ " 24 LTS:"
|
||
#~ msgstr ""
|
||
#~ "اگر {ph0} چاپ v22. 19+ ، v24.11 + یا v26+ ، شما آماده هستید. اگر نسخه قدیمی "
|
||
#~ "تر را چاپ کند یا \"شناخته نشده\" / \"دستور پیدا نشده\" را نصب کند Node.js 24"
|
||
#~ " لیتر:"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/browser/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Open the example{ph1} · {ph2}Download export.js{ph3} · {ph4}Download "
|
||
#~ "notes.json{ph5}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}مثال را باز کنید{ph1} · {ph2}دانلود صادرات.js{ph3} · {ph4}دانلود "
|
||
#~ "یادداشت ها.json{ph5}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/javascript/index.html"
|
||
#~ msgid ""
|
||
#~ "Download the example and unzip it. The archive contains the complete {ph0} "
|
||
#~ "folder. Analyze it with Node.js and npm; Electron is not needed for this "
|
||
#~ "example."
|
||
#~ msgstr ""
|
||
#~ "مثال را دانلود کنید و آن را باز کنید. آرشیو شامل کامل {ph0} پوشه. تجزیه و "
|
||
#~ "تحلیل آن با Node.js و npm; Electron برای این مثال لازم نیست."
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid ""
|
||
#~ "First time, or missing Node.js or a coding agent? {ph0}Follow the step-by-"
|
||
#~ "step setup guide →{ph1}"
|
||
#~ msgstr ""
|
||
#~ "اولین بار یا گمشده Node.js یا یک عامل برنامه نویسی ؟ {ph0}راهنمای راه "
|
||
#~ "اندازی گام به گام را دنبال کنید →{ph1}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "One question: {ph0}why does Calculator give 220 for 200 + 10%?{ph1}"
|
||
#~ msgstr "مثلاً: {ph0}چرا ماشینحساب برای 200 + 10% عدد 220 را میدهد؟{ph1}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}›{ph1}{ph2}Use REA to inspect Windows Calculator. Why does 200 + 10% "
|
||
#~ "give 220?{ph3}{ph4}{ph5}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}›{ph1}{ph2}استفاده کنید REA برای بازرسی Windows ماشین حساب. چرا 200 + "
|
||
#~ "10% 220 می دهند؟{ph3}{ph4}{ph5}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid ""
|
||
#~ "We saw why {ph0}200 + 10% gives 220.{ph1} Now let’s recover the rules for "
|
||
#~ "both + and ×, and try them."
|
||
#~ msgstr ""
|
||
#~ "دیدیم چرا {ph0}200 + 10% می دهد 220.{ph1} حالا بیایید قوانین هر دو + و × را "
|
||
#~ "بازیابی کنیم و آنها را امتحان کنیم."
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}01 · REA reads calc.exe{ph1}{ph2}It launches the Calculator "
|
||
#~ "app{ph3}{ph4}The code opens {ph5}. The agent then selects the installed "
|
||
#~ "app’s library.{ph6}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}01 · REA \"کالک\" رو ميخونه.exe{ph1}{ph2}برنامه ماشین حساب را راه "
|
||
#~ "اندازی می کند{ph3}{ph4}کد باز می شود {ph5}. سپس نماینده کتابخانه برنامه نصب "
|
||
#~ "شده را انتخاب می کند.{ph6}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/aegis/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}›{ph1}{ph2}Use REA to inspect aegis-v3.4.3.apk. Find how it generates "
|
||
#~ "the six-digit login code, explain why it changes every 30 seconds, and "
|
||
#~ "rebuild a small demo where I can change the time.{ph3}{ph4}{ph5}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}›{ph1}{ph2}استفاده کنید REA برای بازرسی aegis-v3.4.3.apk. پیدا کنید که "
|
||
#~ "چگونه کد ورود شش رقمی را تولید می کند ، توضیح دهید که چرا هر 30 ثانیه تغییر "
|
||
#~ "می کند ، و یک نمایشی کوچک را بازسازی کنید که در آن می توانم زمان را تغییر "
|
||
#~ "دهم.{ph3}{ph4}{ph5}"
|
||
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "tab_browser_view/preload.js · API member"
|
||
#~ msgstr "tab_browser_view/preload.js * عضو API"
|
||
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "tab_browser_view/preload.js · IPC helper"
|
||
#~ msgstr "tab_browser_view/preload.کمک کننده JS * IPC"
|
||
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "main/index.js · handler helper"
|
||
#~ msgstr "اصلی / شاخص.js * handler helper"
|
||
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "main/index.js · clipboard receiver"
|
||
#~ msgstr "اصلی / شاخص.گیرنده کلیپ بورد js · "
|
||
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid "main.js · lines 8–12"
|
||
#~ msgstr "اصلی.js * خطوط 8-12"
|
||
|
||
#~ msgctxt "page:guides/browser/index.html"
|
||
#~ msgid "export.js · example source excerpt"
|
||
#~ msgstr "صادرات.js * نمونه منبع گزیده"
|
||
|
||
#~ msgctxt "page:guides/javascript/index.html"
|
||
#~ msgid "renderer.js · example source"
|
||
#~ msgstr "رندر.js * منبع مثال"
|
||
|
||
#~ msgctxt "page:guides/javascript/index.html"
|
||
#~ msgid "preload.js · example source"
|
||
#~ msgstr "پیش بار.js * منبع مثال"
|
||
|
||
#~ msgctxt "page:guides/javascript/index.html"
|
||
#~ msgid "main.js · example source"
|
||
#~ msgstr "اصلی.js * منبع مثال"
|
||
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "REA · loaded index.js · selected lines"
|
||
#~ msgstr "REA * شاخص لود شده.js * خطوط انتخاب شده"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:faq/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}›{ph1}{ph2}Use REA to analyze /absolute/path/to/app and explain how it "
|
||
#~ "exports data. Show the relevant code and source locations.{ph3}{ph4}{ph5}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}›{ph1}{ph2}استفاده کنید REA برای تجزیه و تحلیل /مطلق/مسیر/به/برنامه و "
|
||
#~ "توضیح چگونگی صادرات داده ها. مکان های کد و منبع مربوطه را نشان "
|
||
#~ "دهید.{ph3}{ph4}{ph5}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}›{ph1}{ph2}Install REA and connect it to this coding agent using npx "
|
||
#~ "rea-agents@latest setup. Show me the setup plan for approval, then verify "
|
||
#~ "the installation.{ph3}{ph4}{ph5}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}›{ph1}{ph2}نصب کنید REA و با استفاده از npx rea-agents @ آخرین تنظیمات."
|
||
#~ " نقشه ي راه اندازي رو براي تاييد بهم نشون بده ، بعد نصبش رو تاييد "
|
||
#~ "کن.{ph3}{ph4}{ph5}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}›{ph1}{ph2}Download https://rea.tools/examples/notes-example.zip into a"
|
||
#~ " new example folder and unpack it. Use REA to find what happens when I click"
|
||
#~ " Export notes. Show where notes.csv is written, which fields it contains, "
|
||
#~ "and the relevant files and lines.{ph3}{ph4}{ph5}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}›{ph1}{ph2}دانلود فیلم https://rea.tools/examples/notes-example.zip به "
|
||
#~ "یک پوشه مثال جدید بروید و آن را باز کنید. استفاده کنید REA برای پیدا کردن "
|
||
#~ "آنچه که اتفاق می افتد زمانی که من روی یادداشت های صادرات کلیک کنید. نشان می "
|
||
#~ "دهد که در آن یادداشت.csv نوشته شده است ، چه زمینه هایی را شامل می شود ، و "
|
||
#~ "فایل ها و خطوط مربوطه.{ph3}{ph4}{ph5}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:get-started/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}›{ph1}{ph2}Install REA and connect it to this coding agent using npx "
|
||
#~ "rea-agents@latest setup. Show me the setup plan for approval, then verify "
|
||
#~ "the installation.{ph3}{ph4}{ph5}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}›{ph1}{ph2}نصب کنید REA و با استفاده از npx rea-agents @ آخرین تنظیمات."
|
||
#~ " نقشه ي راه اندازي رو براي تاييد بهم نشون بده ، بعد نصبش رو تاييد "
|
||
#~ "کن.{ph3}{ph4}{ph5}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}›{ph1}{ph2}Install REA and connect it to this coding agent using npx "
|
||
#~ "rea-agents@latest setup. Show me the setup plan for approval, then verify "
|
||
#~ "the installation.{ph3}{ph4}{ph5}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}›{ph1}{ph2}نصب کنید REA و با استفاده از npx rea-agents @ آخرین تنظیمات."
|
||
#~ " نقشه ي راه اندازي رو براي تاييد بهم نشون بده ، بعد نصبش رو تاييد "
|
||
#~ "کن.{ph3}{ph4}{ph5}"
|
||
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "0x5b"
|
||
#~ msgstr "0x5b"
|
||
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "0x5c"
|
||
#~ msgstr "0x5c"
|
||
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "0x64"
|
||
#~ msgstr "0x64"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}›{ph1}{ph2}Use REA to inspect https://rea.tools/. Clone this website "
|
||
#~ "for me.{ph3}{ph4}{ph5}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}›{ph1}{ph2}استفاده کنید REA برای بازرسی https://rea.tools/. این وب سایت"
|
||
#~ " را برای من کلان کنید.{ph3}{ph4}{ph5}"
|
||
|
||
#~ msgctxt "figure:ctf-mask-equation.svg"
|
||
#~ msgid "code[21] = 55"
|
||
#~ msgstr "کد [21] = 55"
|
||
|
||
#~ msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
#~ msgid "0x00406400"
|
||
#~ msgstr "0x00406400"
|
||
|
||
#~ msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
#~ msgid "× pan_scale"
|
||
#~ msgstr "× pan_scale"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "shared"
|
||
#~ msgid "{ph0}REA{ph1}{ph2}Reverse Engineer Anything{ph3}"
|
||
#~ msgstr "{ph0} REA {ph1} {ph2}مهندسی معکوس هر چیزی{ph3}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "shared"
|
||
#~ msgid ""
|
||
#~ "{ph0}Showcases{ph1} {ph2}Blog{ph3} {ph4}Get started{ph5} {ph6}Guides{ph7} "
|
||
#~ "{ph8}FAQ{ph9}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "shared"
|
||
#~ msgid ""
|
||
#~ "{ph0}Source{ph1}{ph2}MIT license{ph3}{ph4}Join the community{ph5}{ph6}Follow"
|
||
#~ " us on X{ph7}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
#~ msgid "{ph0}TH08{ph1}{ph2}→{ph3}{ph4}TH095{ph5}{ph6}→{ph7}{ph8}TH04{ph9}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:examples/dino-lab/index.html"
|
||
#~ msgid "{ph0}REA · selected script source{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid "{ph0}main.js · lines 8–12{ph1}{ph2}Source{ph3}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid "{ph0}Expected formatter output{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/browser/index.html"
|
||
#~ msgid "{ph0}export.js · example source excerpt{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Instructions{ph1} {ph2}→{ph3} {ph4}Caller{ph5} {ph6}→{ph7} "
|
||
#~ "{ph8}Constants{ph9} {ph10}→{ph11} {ph12}C function{ph13}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Button{ph1} {ph2}→{ph3} {ph4}Preload API{ph5} {ph6}→{ph7} {ph8}IPC{ph9}"
|
||
#~ " {ph10}→{ph11} {ph12}CSV file{ph13}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Your click{ph1} {ph2}→{ph3} {ph4}Captured request{ph5} {ph6}→{ph7} "
|
||
#~ "{ph8}Export script{ph9}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/javascript/index.html"
|
||
#~ msgid "{ph0}renderer.js · example source{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/javascript/index.html"
|
||
#~ msgid "{ph0}preload.js · example source{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/javascript/index.html"
|
||
#~ msgid "{ph0}main.js · example source{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/javascript/index.html"
|
||
#~ msgid "{ph0}REA result · summary.ipc excerpt{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/native/index.html"
|
||
#~ msgid "{ph0}REA instruction excerpt · 0x406409{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/native/index.html"
|
||
#~ msgid "{ph0}REA caller excerpt · 0x411f5b{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/native/index.html"
|
||
#~ msgid "{ph0}REA byte results · interpreted as little-endian doubles{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:guides/native/index.html"
|
||
#~ msgid "{ph0}Recovered C · excerpt{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}See how REA works ↓{ph1} {ph2}Setup guide{ph3} {ph4}Showcases →{ph5}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "{ph0}REA · loaded index.js · selected lines{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "{ph0}Selected settings from the inspected script{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "{ph0}Readable summary of the % handler{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "{ph0}REA · selected original instructions{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "{ph0}Operator IDs · Microsoft’s source{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "{ph0}Join the community{ph1} {ph2}Follow @reatools on X{ph3}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/aegis/index.html"
|
||
#~ msgid "{ph0}Agent → REA{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/aegis/index.html"
|
||
#~ msgid "{ph0}REA → agent · selected results{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/aegis/index.html"
|
||
#~ msgid "{ph0}REA → agent · methods and callers{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/aegis/index.html"
|
||
#~ msgid "{ph0}REA · selected decompiled Java{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/aegis/index.html"
|
||
#~ msgid "{ph0}Readable summary · agent's interpretation{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/aegis/index.html"
|
||
#~ msgid "{ph0}REA · generateOTP, complete body{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/aegis/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Download Aegis APK{ph1}{ph2}Download Android analysis provider{ph3}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/ctf/index.html"
|
||
#~ msgid "{ph0}Agent → REA{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/ctf/index.html"
|
||
#~ msgid "{ph0}REA → agent · selected results{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/ctf/index.html"
|
||
#~ msgid "{ph0}REA → agent · selected instructions{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/ctf/index.html"
|
||
#~ msgid "{ph0}Agent → REA · read_bytes{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/ctf/index.html"
|
||
#~ msgid "{ph0}REA → agent · seventh entries{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/ctf/index.html"
|
||
#~ msgid "{ph0}Original executable · SHA-256{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/ctf/index.html"
|
||
#~ msgid "{ph0}Download the original challenge{ph1}{ph2}Download solver{ph3}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/dx-ball/index.html"
|
||
#~ msgid "{ph0}REA result · pseudocode excerpt{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/dx-ball/index.html"
|
||
#~ msgid "{ph0}Agent → REA · {ph1}{ph2}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/dx-ball/index.html"
|
||
#~ msgid "{ph0}REA → agent · instruction excerpt{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/dx-ball/index.html"
|
||
#~ msgid "{ph0}REA → agent · caller excerpt{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/dx-ball/index.html"
|
||
#~ msgid "{ph0}Agent → REA · two {ph1} requests{ph2}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/dx-ball/index.html"
|
||
#~ msgid "{ph0}REA byte results · decoded as doubles{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/dx-ball/index.html"
|
||
#~ msgid "{ph0}Start with your own target{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}APK{ph1} {ph2}→{ph3} {ph4}Generating code{ph5} {ph6}→{ph7} "
|
||
#~ "{ph8}Recovered rule{ph9} {ph10}→{ph11} {ph12}Adjustable clock{ph13}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Binary{ph1} {ph2}→{ph3} {ph4}Checking code{ph5} {ph6}→{ph7} "
|
||
#~ "{ph8}Equations{ph9} {ph10}→{ph11} {ph12}Correct!{ph13}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Executable{ph1} {ph2}→{ph3} {ph4}REA findings{ph5} {ph6}→{ph7} "
|
||
#~ "{ph8}Recovered C{ph9} {ph10}→{ph11} {ph12}Validation{ph13}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Packaged app{ph1} {ph2}→{ph3} {ph4}Exposed API{ph5} {ph6}→{ph7} "
|
||
#~ "{ph8}IPC wrappers{ph9} {ph10}→{ph11} {ph12}Clipboard{ph13}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}Original DOS code{ph1} {ph2}→{ph3} {ph4}REA instructions{ph5} "
|
||
#~ "{ph6}→{ph7} {ph8}Angle calculation{ph9} {ph10}→{ph11} {ph12}Bullet "
|
||
#~ "ring{ph13}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "{ph0}Exposed page API{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "{ph0}Renderer IPC call{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "{ph0}Sent to the system clipboard{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "{ph0}Saved locally by Notion{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "{ph0}Markdown input{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "{ph0}Structured parser output · excerpt{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "{ph0}Analyze your own app{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/th04/index.html"
|
||
#~ msgid "{ph0}Agent → REA{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/th04/index.html"
|
||
#~ msgid "{ph0}REA → agent · selected fields{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/th04/index.html"
|
||
#~ msgid "{ph0}Agent → REA · {ph1}{ph2}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/th04/index.html"
|
||
#~ msgid "{ph0}REA → agent · instruction excerpt{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/th04/index.html"
|
||
#~ msgid "{ph0}Same function result · aim excerpt{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/th04/index.html"
|
||
#~ msgid "{ph0}Corresponding maintained C++{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/th04/index.html"
|
||
#~ msgid "{ph0}Ring macro · TH04 branch, excerpt{ph1}"
|
||
#~ msgstr ""
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:showcase/th04/index.html"
|
||
#~ msgid "{ph0}Angle and velocity · source excerpt{ph1}"
|
||
#~ msgstr ""
|