rea/website/locales/ar/messages.po

14483 lines
595 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
msgid ""
msgstr ""
"Project-Id-Version: REA website\n"
"Language: ar\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:103
msgctxt "page:blog/index.html"
msgid "Skip to content"
msgstr "تخطي إلى المحتوى"
#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/blog/index.html:194
#, python-brace-format
msgctxt "page:blog/index.html"
msgid "{ph0}Home{ph1} / Blog"
msgstr "{ph0}الرئيسية{ph1} / المدونة"
#: website/public/blog/index.html:195
msgctxt "page:blog/index.html"
msgid "Blog."
msgstr "مدونة."
#: website/public/blog/index.html:196
msgctxt "page:blog/index.html"
msgid "Thoughts on reverse engineering."
msgstr "أفكار حول الهندسة العكسية."
#. {ph0}: <br />
#: website/public/blog/index.html:214
#, python-brace-format
msgctxt "page:blog/index.html"
msgid "Game reconstruction{ph0}Essay"
msgstr "لعبة إعادة الإعمار{ph0}مقال"
#: website/public/blog/index.html:216
msgctxt "page:blog/index.html"
msgid "The industrial revolution in reverse engineering"
msgstr "الثورة الصناعية في الهندسة العكسية"
#: website/public/blog/index.html:217
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:207 website/public/blog/index.html:222
msgctxt "page:blog/index.html"
msgid "Read the article"
msgstr "اقرأ المقال"
#: website/public/blog/index.html:225
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:244
#: website/public/blog/reverse-engineering-models/index.html:883
#: website/public/blog/touhou-reconstruction/index.html:1080
#: website/public/examples/dino-lab/index.html:475
#: website/public/faq/index.html:573
#: website/public/first-investigation/index.html:523
#: website/public/get-started/index.html:882
#: website/public/guides/browser/index.html:507
#: website/public/guides/index.html:282
#: website/public/guides/javascript/index.html:503
#: website/public/guides/native/index.html:509 website/public/index.html:1191
#: website/public/showcase/aegis/index.html:808
#: website/public/showcase/ctf/index.html:777
#: website/public/showcase/dx-ball/index.html:785
#: website/public/showcase/index.html:317
#: website/public/showcase/notion/index.html:631
#: website/public/showcase/th04/index.html:800
#, 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/reverse-engineering-models/index.html:75
#: website/public/blog/reverse-engineering-models/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:108
#: website/public/blog/reverse-engineering-models/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 "REA home"
msgstr "الصفحة الرئيسية لـ REA"
#: website/public/blog/index.html:112
#: website/public/blog/reverse-engineering-models/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 "Main navigation"
msgstr "التنقل الرئيسي"
#: website/public/blog/index.html:130
#: website/public/blog/reverse-engineering-models/index.html:130
#: website/public/blog/touhou-reconstruction/index.html:130
#: website/public/examples/dino-lab/index.html:131
#: website/public/faq/index.html:130
#: website/public/first-investigation/index.html:130
#: website/public/get-started/index.html:130
#: website/public/guides/browser/index.html:130
#: website/public/guides/index.html:130
#: website/public/guides/javascript/index.html:130
#: website/public/guides/native/index.html:130 website/public/index.html:132
#: website/public/showcase/aegis/index.html:131
#: website/public/showcase/ctf/index.html:130
#: website/public/showcase/dx-ball/index.html:130
#: website/public/showcase/index.html:130
#: website/public/showcase/notion/index.html:130
#: website/public/showcase/th04/index.html:130
msgctxt "shared"
msgid "REA on GitHub"
msgstr "REA على GitHub"
#: website/public/blog/index.html:150
#: website/public/blog/reverse-engineering-models/index.html:150
#: website/public/blog/touhou-reconstruction/index.html:150
#: website/public/examples/dino-lab/index.html:151
#: website/public/faq/index.html:150
#: website/public/first-investigation/index.html:150
#: website/public/get-started/index.html:150
#: website/public/guides/browser/index.html:150
#: website/public/guides/index.html:150
#: website/public/guides/javascript/index.html:150
#: website/public/guides/native/index.html:150 website/public/index.html:152
#: website/public/showcase/aegis/index.html:151
#: website/public/showcase/ctf/index.html:150
#: website/public/showcase/dx-ball/index.html:150
#: website/public/showcase/index.html:150
#: website/public/showcase/notion/index.html:150
#: website/public/showcase/th04/index.html:150
msgctxt "shared"
msgid "Join REA on Discord"
msgstr "انضم إلى REA على Discord"
#: website/public/blog/index.html:169
#: website/public/blog/reverse-engineering-models/index.html:169
#: website/public/blog/touhou-reconstruction/index.html:169
#: website/public/examples/dino-lab/index.html:170
#: website/public/faq/index.html:169
#: website/public/first-investigation/index.html:169
#: website/public/get-started/index.html:169
#: website/public/guides/browser/index.html:169
#: website/public/guides/index.html:169
#: website/public/guides/javascript/index.html:169
#: website/public/guides/native/index.html:169 website/public/index.html:171
#: website/public/showcase/aegis/index.html:170
#: website/public/showcase/ctf/index.html:169
#: website/public/showcase/dx-ball/index.html:169
#: website/public/showcase/index.html:169
#: website/public/showcase/notion/index.html:169
#: website/public/showcase/th04/index.html:169
msgctxt "shared"
msgid "Follow REA on X"
msgstr "تابع REA على X"
#: website/public/blog/index.html:244
msgctxt "page:blog/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/blog/touhou-reconstruction/index.html:103
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:194
#, 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:198
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Essay · Touhou reconstruction"
msgstr "مقال * إعادة إعمار توهو"
#: website/public/blog/touhou-reconstruction/index.html:199
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "The industrial revolution in reverse engineering."
msgstr "الثورة الصناعية في الهندسة العكسية."
#: website/public/blog/touhou-reconstruction/index.html:200
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "By N0zoM1z0 · 10 October 2026"
msgstr "بواسطة N0zoM1z0 * 10 أكتوبر 2026"
#: website/public/blog/touhou-reconstruction/index.html:202
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Takeaway"
msgstr "أهم الأفكار"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:204
#, 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:209
#, 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:214
#, 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:219
#, 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:224
#, 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}نحن في الأيام الأولى للثورة الصناعية في ري.{ph1} الأساليب لا تزال "
"تتشكل. هناك الكثير من اليسار لاستكشاف."
#: website/public/blog/touhou-reconstruction/index.html:236
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "How experience compounds"
msgstr "كيف تجربة المركبات"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:237
#, 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:325
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Autonomy"
msgstr "الاستقلالية"
#: website/public/blog/touhou-reconstruction/index.html:326
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Agent"
msgstr "المساعد"
#. {ph0}: <br />
#: website/public/blog/touhou-reconstruction/index.html:327
#, 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:330
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Verification"
msgstr "التحقق"
#: website/public/blog/touhou-reconstruction/index.html:331
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Oracle"
msgstr "مرجع التحقق"
#. {ph0}: <br />
#: website/public/blog/touhou-reconstruction/index.html:332
#, 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:335
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Repository"
msgstr "مستودع الكود"
#: website/public/blog/touhou-reconstruction/index.html:336
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Working memory"
msgstr "ذاكرة العمل"
#. {ph0}: <br />
#: website/public/blog/touhou-reconstruction/index.html:337
#, 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:339
#, 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:342
#, 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:345
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Reuse"
msgstr "إعادة الاستخدام"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:346
#, 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:358
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:365
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:367
#, 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:368
#, 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:369
#, 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:370
#, 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:371
#, 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:372
#, 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:375
#, 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:376
#, 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:381
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "What changed in August 2026"
msgstr "ما الذي تغير في أغسطس 2026"
#: website/public/blog/touhou-reconstruction/index.html:382
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:389
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:396
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:402
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:411
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:418
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:419
#, 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:428
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:433
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:438
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:445
#, 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:453
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "An exact match with the wrong constant"
msgstr "تطابق تام مع ثابت خاطئ"
#: website/public/blog/touhou-reconstruction/index.html:454
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:458
#, 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:464
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:471
#, 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:477
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:484
#, 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:490
#, 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:501
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:506
#, 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:510
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:518
#, 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:527
#, 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:535
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:536
#, 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}التمهيدي العام{ph1} يجعل خلافها مع هذا النوع من العمل "
"واضحا. يعلن الإشعار أن المزيد من التطوير سيحدث بشكل خاص حتى الانتهاء. مقطع "
"واحد يقرأ:"
#: website/public/blog/touhou-reconstruction/index.html:547
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 ""
"إن صعود القواطع (عمليات فك التجميع والمنافذ بالذكاء الاصطناعي) في هذا الفضاء"
" المأخوذ من عملنا يرسم صورة سيئة لجهود فك التجميع المستقبلية…"
#: website/public/blog/touhou-reconstruction/index.html:553
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 ""
"يصف الإشعار أيضا الخسائر النفسية على المشرفين. تستثني سياسة المساهمة الخاصة "
"بهم طلبات السحب التي يتم إنتاجها بشكل أساسي باستخدام الذكاء الاصطناعي. لقد "
"وضعوا وقت فراغهم في عمل صعب ، وساعد هذا العمل على جعل استمراري ممكنا. أنا "
"أحترم الجهد وراء ذلك. والخلاف الذي أريد مناقشته يتعلق بكيفية المضي قدما في "
"إعادة الإعمار وكيف ينبغي الحكم على المساهمة."
#: website/public/blog/touhou-reconstruction/index.html:562
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:569
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:574
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:581
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:587
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:595
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:601
#, 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}إشعار التمهيدي{ph1}، تم فحصه في 10 أكتوبر 2026 ،"
" و {ph2}سياسة المساهمة{ph3}. الاقتباس هو مقتطف مختصر. TH08في {ph4}الاعتمادات"
" والمصدر{ph5} سجل حدود الاستمرارية."
#: website/public/blog/touhou-reconstruction/index.html:619
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:620
#, 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:628
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 أنا 386 تم وضع علامة على إعادة الإعمار للعب في 10 سبتمبر "
"، بعد حوالي اثني عشر يوما من التهيئة."
#: website/public/blog/touhou-reconstruction/index.html:635
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:641
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:648
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:654
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:660
#, 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:668
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:676
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:677
#, 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 عصر دوس. كان الهدف "
"الآن بيئة 16 بت مع أربعة برامج متعاونة. يتطلب فهم سلوك أجهزتها أدلة مختلفة "
"عن Windows ألعاب. القائمة {ph2}التوصية 98 العمل{ph3} قدم لنا معرفة قيمة "
"ومصدر المواد هنا أيضا."
#: website/public/blog/touhou-reconstruction/index.html:686
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 ""
"إعادة إعمار دوس تعمل الآن. في بلدي الاختبار اليدوي ، لعبت الطرق العادية "
"كاملة من خلال نهاياتها وفحص يحفظ. العمل الحالي هو منفذ 64 بت الأصلي. إنشاء "
"إصدار دوس العمل يعطي أولا أن ميناء الاتصالات مرجعا."
#: website/public/blog/touhou-reconstruction/index.html:692
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:698
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 ""
"ضع في اعتبارك الانتقال من طريقة اللعب إلى النهاية. نحن بحاجة إلى معرفة "
"الدولة التي تمر عبر تلك الحدود والبرنامج المسؤول عنها. هذا شيء يمكننا "
"التحقيق ضد المنتج دوس. مرة واحدة هي الأدلة والشيكات المتاحة ، وكيل يمكن أن "
"تعمل من خلال السؤال بقدر ما فعلت على Windows العنوان."
#: website/public/blog/touhou-reconstruction/index.html:706
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:712
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 بت ، يمكننا الآن فحص التنفيذ الجديد مقابل السلوك الذي تم "
"استرداده بالفعل على دوس. المعرفة من إعادة الإعمار تعطي الميناء شيئا للبناء "
"عليه."
#. {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:717
#, 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}إعادة بناء دوس والاختبار "
"اليدوي{ph1} · {ph2}منفذ 64 بت{ph3}. الميناء لا يزال قيد التطوير."
#: website/public/blog/touhou-reconstruction/index.html:730
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "From exact code to readable code"
msgstr "من الكود الدقيق إلى الكود المقروء"
#: website/public/blog/touhou-reconstruction/index.html:731
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:735
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:741
#, 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:749
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:756
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:758
#, 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:765
#, 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:772
#, 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:781
#, 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:788
#, 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:796
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 ""
"يصطادون أخطاء مختلفة. تغيير نوع يمكن أن يغير التعليمات التي تم إنشاؤها. "
"تغيير ملكية يمكن أن تترك جزأين من اللعبة باستخدام نسخ مختلفة من الدولة. حفظ "
"كل من الشيكات المتاحة يعطي وكيل فشل ملموس للتحقيق قبل أن يحمل ريفاكتور أبعد "
"من ذلك."
#: website/public/blog/touhou-reconstruction/index.html:803
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:810
#, 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:821
#, 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:830
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "What makes this an industrial shift"
msgstr "ما الذي يجعل هذا التحول الصناعي"
#: website/public/blog/touhou-reconstruction/index.html:831
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:838
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:845
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:852
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:859
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:866
#, 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:879
#, 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:889
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:895
#, 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:905
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:913
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "The projects we can now consider"
msgstr "المشاريع التي يمكننا النظر فيها الآن"
#: website/public/blog/touhou-reconstruction/index.html:914
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:920
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:927
#, 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:934
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:942
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Project milestones and sources"
msgstr "معالم المشروع ومصادره"
#: website/public/blog/touhou-reconstruction/index.html:943
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 ""
"تصف التواريخ نقاط التفتيش المسجلة للمشروع, فحص ضد الجمهور GitHub التاريخ في "
"10 أكتوبر 2026. الوقت المنقضي هو وقت التقويم بين الالتزامات. وجود المصدر ، "
"والمقارنات الدقيقة ، وبناء ووقت التشغيل نتيجة كل اسم معلما مختلفا."
#. {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:951
#, 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:974
#, 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:997
#, 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} يسجل إعادة بناء دوس العمل "
"، واختبار المسار العادي الكامل للمشرف ومرحلة 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:1006
#, 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:1020
#, 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:1032
#, 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:1041
#, 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:1056
#, 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:350
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Experience carried between projects"
msgstr "الخبرة المنقولة بين المشاريع"
#: website/public/blog/touhou-reconstruction/index.html:364
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/blog/touhou-reconstruction/index.html:379
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Touhou reconstruction essay"
msgstr "مقال إعادة إعمار توهو"
#: website/public/blog/touhou-reconstruction/index.html:1080
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/examples/dino-lab/index.html:104
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:195
#, 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:198
msgctxt "page:examples/dino-lab/index.html"
msgid "Inspect → rebuild → change"
msgstr "تفقد rebuild إعادة بناء change تغيير"
#: website/public/examples/dino-lab/index.html:199
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:200
#, 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:209
#: website/public/examples/dino-lab/index.html:208
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:211
#, 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:212
#, 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:213
#, 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:214
#, 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:219
msgctxt "page:examples/dino-lab/index.html"
msgid "Play and change the speed"
msgstr "اللعب وتغيير السرعة"
#: website/public/examples/dino-lab/index.html:220
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:226
msgctxt "page:examples/dino-lab/index.html"
msgid "Play the reconstruction"
msgstr "جرّب اللعبة المعاد بناؤها"
#: website/public/examples/dino-lab/index.html:258
msgctxt "page:examples/dino-lab/index.html"
msgid "Play"
msgstr "العب"
#: website/public/examples/dino-lab/index.html:261
msgctxt "page:examples/dino-lab/index.html"
msgid "Jump ↑"
msgstr "اقفز ↑"
#: website/public/examples/dino-lab/index.html:262
msgctxt "page:examples/dino-lab/index.html"
msgid "Restart"
msgstr "ابدأ من جديد"
#: website/public/examples/dino-lab/index.html:265
msgctxt "page:examples/dino-lab/index.html"
msgid "Speed"
msgstr "السرعة"
#: website/public/examples/dino-lab/index.html:275
msgctxt "page:examples/dino-lab/index.html"
msgid "Use the recovered acceleration rule"
msgstr "استخدم قاعدة التسارع المستردة"
#: website/public/examples/dino-lab/index.html:279
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:282
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:287
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:295
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:296
#, 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- مستمد متصفح الطبعة{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:312
#, 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:317
msgctxt "page:examples/dino-lab/index.html"
msgid "Use the same rule in the new game"
msgstr "استخدم نفس القاعدة في اللعبة الجديدة"
#: website/public/examples/dino-lab/index.html:323
#: website/public/examples/dino-lab/index.html:422
msgctxt "page:examples/dino-lab/index.html"
msgid "Copy"
msgstr "نسخ"
#: website/public/examples/dino-lab/index.html:336
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:342
#, 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:350
msgctxt "page:examples/dino-lab/index.html"
msgid "Check the reconstruction"
msgstr "تحقق من إعادة الإعمار"
#: website/public/examples/dino-lab/index.html:351
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:360
msgctxt "page:examples/dino-lab/index.html"
msgid "Updates"
msgstr "التحديثات"
#: website/public/examples/dino-lab/index.html:361
msgctxt "page:examples/dino-lab/index.html"
msgid "Original game"
msgstr "اللعبة الأصلية"
#: website/public/examples/dino-lab/index.html:362
msgctxt "page:examples/dino-lab/index.html"
msgid "Reconstructed rule"
msgstr "قاعدة أعيد بناؤها"
#: website/public/examples/dino-lab/index.html:389
msgctxt "page:examples/dino-lab/index.html"
msgid "Run the speed check"
msgstr "قم بتشغيل فحص السرعة"
#: website/public/examples/dino-lab/index.html:392
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:398
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:400
#, 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:404
#, 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} كما رابط الصفحة."
#: website/public/examples/dino-lab/index.html:411
msgctxt "page:examples/dino-lab/index.html"
msgid ""
"Give your agent the page URL and local debugging endpoint, then copy this "
"prompt."
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/examples/dino-lab/index.html:418
#, 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:431
#, 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:440
#, 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:447
#, 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}حقوق التأليف "
"والنشر ورخصة بسد{ph3}. REA 4.1.0 تفقد تشغيل هتب الطبعة في 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:217
msgctxt "page:examples/dino-lab/index.html"
msgid "Dinosaur speed reconstruction"
msgstr "إعادة بناء سرعة الديناصورات"
#: website/public/examples/dino-lab/index.html:248
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:323
msgctxt "page:examples/dino-lab/index.html"
msgid "Copy reconstructed speed rule"
msgstr "نسخ قاعدة السرعة المعاد بناؤها"
#: website/public/examples/dino-lab/index.html:422
msgctxt "page:examples/dino-lab/index.html"
msgid "Copy dinosaur analysis prompt"
msgstr "نسخة ديناصور تحليل موجه"
#: website/public/examples/dino-lab/index.html:475
msgctxt "page:examples/dino-lab/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/faq/index.html:103
msgctxt "page:faq/index.html"
msgid "Skip to content"
msgstr "تخطي إلى المحتوى"
#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/faq/index.html:194
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Home{ph1} / FAQ"
msgstr "{ph0}الرئيسية{ph1} / أسئلة وأجوبة"
#: website/public/faq/index.html:195
msgctxt "page:faq/index.html"
msgid "REA FAQ."
msgstr "REA التعليمات."
#: website/public/faq/index.html:196
msgctxt "page:faq/index.html"
msgid "Setup, updates, analysis and troubleshooting."
msgstr "الإعداد والتحديثات والتحليل واستكشاف الأخطاء وإصلاحها."
#: website/public/faq/index.html:200
msgctxt "page:faq/index.html"
msgid "Topics"
msgstr "المواضيع"
#. {ph0}: <a href="#setup">
#. {ph1}: </a>
#: website/public/faq/index.html:202
#, 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:203
#, 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:204
#, 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:205
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Data and sharing{ph1}"
msgstr "{ph0}البيانات والمشاركة{ph1}"
#: website/public/faq/index.html:214
msgctxt "page:faq/index.html"
msgid "Setup and updates"
msgstr "الإعداد والتحديثات"
#: website/public/faq/index.html:217
msgctxt "page:faq/index.html"
msgid "How do I install REA?"
msgstr "كيف أثبّت REA؟"
#: website/public/faq/index.html:225
msgctxt "page:faq/index.html"
msgid "Terminal · agent setup"
msgstr "محطة * وكيل الإعداد"
#: website/public/faq/index.html:226 website/public/faq/index.html:267
#: website/public/faq/index.html:285 website/public/faq/index.html:369
#: website/public/faq/index.html:416 website/public/faq/index.html:456
#: website/public/faq/index.html:476
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:237
#, 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:246
msgctxt "page:faq/index.html"
msgid "Which coding agents can use REA?"
msgstr "ما هي عوامل الترميز التي يمكن استخدامها REA?"
# Reviewed for readable instructions and accurate software terminology.
#: website/public/faq/index.html:247
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 Desktop و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:254
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Connect your coding agent{ph1}."
msgstr "{ph0}قم بتوصيل مساعدك البرمجي{ph1}."
#: website/public/faq/index.html:259
msgctxt "page:faq/index.html"
msgid "How do I update REA?"
msgstr "كيف أحدّث REA؟"
#: website/public/faq/index.html:260
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:266
msgctxt "page:faq/index.html"
msgid "Terminal · installed CLI"
msgstr "المحطة الطرفية * مثبتة CLI"
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <code>npx</code>
#: website/public/faq/index.html:278
#, 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 ""
"اتبع أمر تحديث الإعداد الذي يظهر بعد التحديث. إذا أعددت مساعدك باستخدام "
"{ph0}، فنفّذ:"
#: website/public/faq/index.html:284
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:296
#, 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:304
msgctxt "page:faq/index.html"
msgid "Is installing the skill from skills.sh enough?"
msgstr "يتم تثبيت المهارة من skills.sh كفى?"
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="#install">
#. {ph1}: </a>
#: website/public/faq/index.html:307
#, 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:318
msgctxt "page:faq/index.html"
msgid "Analysis"
msgstr "التحليل"
#: website/public/faq/index.html:321
msgctxt "page:faq/index.html"
msgid "What can I analyze with REA?"
msgstr "ماذا يمكنني تحليل مع REA?"
#: website/public/faq/index.html:322
msgctxt "page:faq/index.html"
msgid "Start with the kind of software you have:"
msgstr "تبدأ مع هذا النوع من البرامج لديك:"
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="../guides/native/" >
#. {ph1}: </a >
#: website/public/faq/index.html:324
#, 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:329
#, 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}: الوحدات والواردات والتصنيف الدولي"
" للبراءات ومواقع المصدر."
#. {ph0}: <a href="../guides/browser/">
#. {ph1}: </a>
#: website/public/faq/index.html:334
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Browser pages{ph1}: scripts, requests and runtime observations."
msgstr ""
"{ph0}صفحات المتصفح{ph1}: البرامج النصية والطلبات وملاحظات وقت التشغيل."
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="../showcase/">
#. {ph1}: </a>
#: website/public/faq/index.html:339
#, 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 أيضًا تحليل تجميعات .NET وغيرها من التجميعات المُدارة وملفات "
"Android APK والبرامج الثابتة والموارد المعبأة. تعرض {ph0}دراسات الحالة{ph1} "
"أمثلة عملية."
#: website/public/faq/index.html:347
msgctxt "page:faq/index.html"
msgid "Do I need Hopper, Ghidra or IDA?"
msgstr "هل أحتاج Hopper, Ghidra أو IDA?"
# Reviewed for readable instructions and accurate software terminology.
#: website/public/faq/index.html:348
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 فيعمل على الملفات المقدّمة ولا يحتاج إلى محرك تحليل "
"أصلي."
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="../get-started/#native">
#. {ph1}: </a>
#: website/public/faq/index.html:353
#, 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:361
msgctxt "page:faq/index.html"
msgid "Can I use REA without a coding agent?"
msgstr "هل يمكنني استخدام REA بدون المساعد البرمجي?"
# Reviewed for readable instructions and accurate software terminology.
#: website/public/faq/index.html:362
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:368
msgctxt "page:faq/index.html"
msgid "Terminal · static application analysis"
msgstr "محطة * تحليل التطبيق الثابت"
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="../get-started/#terminal">
#. {ph1}: </a>
#: website/public/faq/index.html:381
#, 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:388
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:389
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 الوحدات والعلاقات"
" بينها ومواقعها في الكود المصدري."
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="../showcase/dx-ball/#sound-pan" >
#. {ph1}: </a >
#. {ph2}: <a href="../showcase/ctf/">
#. {ph3}: </a>
#: website/public/faq/index.html:394
#, 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}أداة التحقق من flag في CTF{ph3} هذه العملية."
#: website/public/faq/index.html:405
msgctxt "page:faq/index.html"
msgid "What should I ask my agent?"
msgstr "ماذا أسأل مساعدي؟"
# Reviewed for readable instructions and accurate software terminology.
#: website/public/faq/index.html:406
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:412
#, 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}مساعدك البرمجي"
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="../guides/">
#. {ph1}: </a>
#: website/public/faq/index.html:435
#, 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:445
msgctxt "page:faq/index.html"
msgid "Troubleshooting"
msgstr "استكشاف الأخطاء وإصلاحها"
#: website/public/faq/index.html:448
msgctxt "page:faq/index.html"
msgid "Why can't my agent see the REA tools?"
msgstr "لماذا لا يستطيع وكيل أعمالي رؤية REA أدوات?"
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <code>doctor</code>
#: website/public/faq/index.html:449
#, 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:455
msgctxt "page:faq/index.html"
msgid "Terminal · check one client"
msgstr "محطة * تحقق عميل واحد"
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <code>codex</code>
#. {ph1}: <code>claude_code</code>
#. {ph2}: <code>cursor</code>
#: website/public/faq/index.html:467
#, 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:475
msgctxt "page:faq/index.html"
msgid "Terminal · repair one client's setup"
msgstr "محطة * إصلاح إعداد عميل واحد"
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="../get-started/#help">
#. {ph1}: </a>
#: website/public/faq/index.html:487
#, 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:495
msgctxt "page:faq/index.html"
msgid "Do I need to start Hopper first?"
msgstr "هل أحتاج إلى البدء Hopper أولا?"
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="../get-started/#native">
#. {ph1}: </a >
#: website/public/faq/index.html:496
#, 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:505
msgctxt "page:faq/index.html"
msgid "What should I do if I hit a bug?"
msgstr "ماذا أفعل إذا واجهت خطأ؟"
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="#update">
#. {ph1}: </a>
#: website/public/faq/index.html:506
#, 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} وأعد تشغيل مساعدك، ثم جرّب المهمة نفسها. قد يكون الإصدار "
"الأخير قد أصلح المشكلة بالفعل."
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="https://github.com/morluto/rea/issues/new/choose" >
#. {ph1}: </a >
#: website/public/faq/index.html:510
#, 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}افتح issue{ph1} واذكر إصدار REA ونظام التشغيل ونوع "
"الهدف وخطوات إعادة إنتاج المشكلة ومخرجات الخطأ. أضف اسم أداة التحليل إذا "
"كانت المشكلة تتعلق بالتحليل الأصلي."
#: website/public/faq/index.html:524
msgctxt "page:faq/index.html"
msgid "Data and sharing"
msgstr "البيانات والمشاركة"
#: website/public/faq/index.html:527
msgctxt "page:faq/index.html"
msgid "Does REA upload my app?"
msgstr "هل REA تحميل تطبيقي?"
# Reviewed for readable instructions and accurate software terminology.
#: website/public/faq/index.html:528
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:535
msgctxt "page:faq/index.html"
msgid "How can I share an example or contribute?"
msgstr "كيف يمكنني مشاركة مثال أو المساهمة?"
# Reviewed for readable instructions and accurate software terminology.
#. {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:536
#, 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}issue{ph1} أو {ph2}pull request{ph3}. تساعد مقاطع"
" الكود القصيرة والرسوم الآخرين على متابعة التحليل."
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <a href="https://discord.gg/GkcryMnJDM">
#. {ph1}: </a>
#: website/public/faq/index.html:548
#, 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 التعليمات: الإعداد والتحديثات واستكشاف الأخطاء وإصلاحها"
# Reviewed for readable instructions and accurate software terminology.
#: 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:199
msgctxt "page:faq/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/faq/index.html:208
msgctxt "page:faq/index.html"
msgid "Frequently asked questions about REA"
msgstr "الأسئلة المتداولة حول REA"
#: website/public/faq/index.html:226
msgctxt "page:faq/index.html"
msgid "Copy REA setup command"
msgstr "نسخ REA أمر الإعداد"
#: website/public/faq/index.html:267
msgctxt "page:faq/index.html"
msgid "Copy REA update command"
msgstr "نسخ REA أمر التحديث"
#: website/public/faq/index.html:285
msgctxt "page:faq/index.html"
msgid "Copy agent setup refresh command"
msgstr "أمر تحديث إعداد وكيل النسخ"
#: website/public/faq/index.html:369
msgctxt "page:faq/index.html"
msgid "Copy REA CLI analysis command"
msgstr "نسخ REA CLI أمر التحليل"
#: website/public/faq/index.html:416
msgctxt "page:faq/index.html"
msgid "Copy example analysis prompt"
msgstr "نسخ مثال تحليل موجه"
#: website/public/faq/index.html:456
msgctxt "page:faq/index.html"
msgid "Copy client diagnosis command"
msgstr "نسخ أمر تشخيص العميل"
#: website/public/faq/index.html:476
msgctxt "page:faq/index.html"
msgid "Copy scoped setup command"
msgstr "نسخ أمر إعداد النطاق"
#: website/public/faq/index.html:573
msgctxt "page:faq/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/first-investigation/index.html:103
msgctxt "page:first-investigation/index.html"
msgid "Skip to content"
msgstr "تخطي إلى المحتوى"
#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/first-investigation/index.html:194
#, 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:197
#, 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:198
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:209
msgctxt "page:first-investigation/index.html"
msgid "In this exercise"
msgstr "في هذا التمرين"
#. {ph0}: <a href="#setup">
#. {ph1}: </a>
#: website/public/first-investigation/index.html:211
#, 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:212
#, 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:213
#, 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:214
#, 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:215
#, 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:220
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:229
#: website/public/first-investigation/index.html:279
#: website/public/first-investigation/index.html:401
#, 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:234
#: website/public/first-investigation/index.html:256
#: website/public/first-investigation/index.html:284
#: website/public/first-investigation/index.html:406
#: website/public/first-investigation/index.html:448
msgctxt "page:first-investigation/index.html"
msgid "Copy"
msgstr "نسخ"
#: website/public/first-investigation/index.html:253
msgctxt "page:first-investigation/index.html"
msgid "Or run this command in your terminal:"
msgstr "أو قم بتشغيل هذا الأمر في جهازك الطرفي:"
#: website/public/first-investigation/index.html:265
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:271
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:272
#, 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:307
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:311
#, 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:319
#, 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:326
msgctxt "page:first-investigation/index.html"
msgid "3. Follow the answer back to the code"
msgstr "3. اتبع الجواب مرة أخرى إلى التعليمات البرمجية"
#: website/public/first-investigation/index.html:327
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:329
#, 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} في مجلد التنزيلات الخاص بالمستخدم. الأعمدة هي {ph2} و"
" {ph3}."
#: website/public/first-investigation/index.html:337
msgctxt "page:first-investigation/index.html"
msgid "From the button to the file writer"
msgstr "من الزر إلى كاتب الملف"
#: website/public/first-investigation/index.html:366
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:382
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 ""
"مسار الملف ، المنسق وكتابة الاستدعاء دالة معا في هذا المعالج. اطلب من وكيلك "
"إظهار هذه السطور إذا كانت إجابته تتركها."
#. {ph0}: <a href="../guides/javascript/#follow" >
#. {ph1}: </a >
#: website/public/first-investigation/index.html:387
#, 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:394
msgctxt "page:first-investigation/index.html"
msgid "4. Check a prediction"
msgstr "4. تحقق من التنبؤ"
#: website/public/first-investigation/index.html:395
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:439
msgctxt "page:first-investigation/index.html"
msgid "Run the check yourself"
msgstr "قم بتشغيل الشيك بنفسك"
#. {ph0}: <code>notes-example</code>
#: website/public/first-investigation/index.html:440
#, 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:462
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 ""
"يستخدم هذا الأمر قذيفة مع دعم وثيقة هنا ، مثل باش أو زش. وكيلك يمكن تشغيل "
"نفسه JavaScript في قذيفة النظام الأساسي الخاص بك."
#: website/public/first-investigation/index.html:470
msgctxt "page:first-investigation/index.html"
msgid "5. Ask another question"
msgstr "5. اطرح سؤالا آخر"
#: website/public/first-investigation/index.html:471
msgctxt "page:first-investigation/index.html"
msgid "Try a follow-up in the same conversation:"
msgstr "جرب المتابعة في نفس المحادثة:"
#: website/public/first-investigation/index.html:473
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:478
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:483
#, 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 نسخ النص و هتمل{ph1}{ph2}اتبع ميزة الحافظة في حزم Electron "
"التطبيق.{ph3}"
#. {ph0}: <a href="../showcase/dx-ball/" >
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/first-investigation/index.html:489
#, 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:497
#, 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:208
msgctxt "page:first-investigation/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/first-investigation/index.html:218
msgctxt "page:first-investigation/index.html"
msgid "Your first REA investigation"
msgstr "الخاص بك أولا REA التحقيق"
#: website/public/first-investigation/index.html:234
msgctxt "page:first-investigation/index.html"
msgid "Copy REA installation prompt"
msgstr "نسخ REA موجه التثبيت"
#: website/public/first-investigation/index.html:256
msgctxt "page:first-investigation/index.html"
msgid "Copy setup command"
msgstr "نسخ أمر الإعداد"
#: website/public/first-investigation/index.html:284
msgctxt "page:first-investigation/index.html"
msgid "Copy Notes investigation prompt"
msgstr "نسخة ملاحظات التحقيق الفوري"
#: website/public/first-investigation/index.html:406
msgctxt "page:first-investigation/index.html"
msgid "Copy CSV check prompt"
msgstr "نسخ CSV تحقق موجه"
#: website/public/first-investigation/index.html:448
msgctxt "page:first-investigation/index.html"
msgid "Copy formatter check command"
msgstr "نسخ أمر التحقق من المنسق"
#: website/public/first-investigation/index.html:523
msgctxt "page:first-investigation/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/get-started/index.html:103
msgctxt "page:get-started/index.html"
msgid "Skip to content"
msgstr "تخطي إلى المحتوى"
#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/get-started/index.html:194
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Home{ph1} / Get started"
msgstr "{ph0}الرئيسية{ph1} / ابدأ"
#: website/public/get-started/index.html:195
msgctxt "page:get-started/index.html"
msgid "Set up REA."
msgstr "إعداد REA."
#: website/public/get-started/index.html:196
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:208
msgctxt "page:get-started/index.html"
msgid "Open a terminal and check:"
msgstr "افتح محطة وتحقق:"
#: website/public/get-started/index.html:211
#: website/public/get-started/index.html:468
msgctxt "page:get-started/index.html"
msgid "Terminal"
msgstr "محطة"
#: website/public/get-started/index.html:212
#: website/public/get-started/index.html:233
#: website/public/get-started/index.html:256
#: website/public/get-started/index.html:272
#: website/public/get-started/index.html:287
#: website/public/get-started/index.html:302
#: website/public/get-started/index.html:318
#: website/public/get-started/index.html:337
#: website/public/get-started/index.html:423
#: website/public/get-started/index.html:469
#: website/public/get-started/index.html:545
#: website/public/get-started/index.html:604
#: website/public/get-started/index.html:645
#: website/public/get-started/index.html:677
#: website/public/get-started/index.html:734
#: website/public/get-started/index.html:775
#: website/public/get-started/index.html:815
#: website/public/get-started/index.html:831
msgctxt "page:get-started/index.html"
msgid "Copy"
msgstr "نسخ"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/get-started/index.html:229
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Windows (PowerShell){ph1}"
msgstr "{ph0}Windows (PowerShell){ph1}"
#. {ph0}: <code>node -v</code>
#: website/public/get-started/index.html:244
#, 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:248
#, 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:268
msgctxt "page:get-started/index.html"
msgid "If you use Homebrew:"
msgstr "إذا كنت تستخدم Homebrew:"
#: website/public/get-started/index.html:283
msgctxt "page:get-started/index.html"
msgid "Otherwise:"
msgstr "خلاف ذلك:"
#: website/public/get-started/index.html:298
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:329
#, 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:349
#, 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:353
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Prefer a regular installer? Download the LTS version from "
"{ph0}nodejs.org{ph1}."
msgstr "تفضل المثبت العادي? تحميل النسخة لتس من {ph0}nodejs.org{ph1}."
#: website/public/get-started/index.html:361
msgctxt "page:get-started/index.html"
msgid "Setup options"
msgstr "خيارات الإعداد"
#. {ph0}: <a href="#agent">
#. {ph1}: </a>
#: website/public/get-started/index.html:363
#, 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:364
#, 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:365
#, 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:366
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Getting help{ph1}"
msgstr "{ph0}الحصول على المساعدة{ph1}"
#: website/public/get-started/index.html:371
msgctxt "page:get-started/index.html"
msgid "Connect your coding agent"
msgstr "قم بتوصيل مساعدك البرمجي"
#: website/public/get-started/index.html:372
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:379
msgctxt "page:get-started/index.html"
msgid "New to coding agents?"
msgstr "جديد في وكلاء الترميز?"
#: website/public/get-started/index.html:380
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:386
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:391
#, 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:399
#, 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. تسجيل الدخول باستخدام حساب تشاتغبت "
"الخاص بك."
#. {ph0}: <strong >
#. {ph1}: <a href="https://opencode.ai/docs">
#. {ph2}: </a>
#. {ph3}: </strong >
#: website/public/get-started/index.html:405
#, 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:411
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:418
#, 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:443
msgctxt "page:get-started/index.html"
msgid "Or run setup yourself"
msgstr "أو قم بتشغيل الإعداد بنفسك"
#: website/public/get-started/index.html:445
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:447
#, 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} افتح قائمة ابدأ ، اكتب {ph2}PowerShell{ph3} واضغط على "
"إدخال."
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <kbd>⌘</kbd>
#. {ph3}: <kbd>Space</kbd>
#. {ph4}: <em>
#. {ph5}: </em>
#: website/public/get-started/index.html:451
#, 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} واضغط على إدخال."
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <kbd>Ctrl</kbd>
#. {ph3}: <kbd>Alt</kbd>
#. {ph4}: <kbd>T</kbd>
#: website/public/get-started/index.html:455
#, 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:460
#, 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}) ، ثم اضغط أدخل."
#: website/public/get-started/index.html:481
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:486
msgctxt "page:get-started/index.html"
msgid "Restart your client when setup finishes."
msgstr "أعد تشغيل العميل عند انتهاء الإعداد."
#: website/public/get-started/index.html:488
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:489
#, 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:496
#, 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:501
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:506
#, 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:512
msgctxt "page:get-started/index.html"
msgid "Replace the path with your local target."
msgstr "استبدال المسار مع الهدف المحلي الخاص بك."
#: website/public/get-started/index.html:514
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:516
#, 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} في مستكشف الملفات ، انقر بزر الماوس الأيمن فوق المجلد "
"واختر {ph2}نسخ كمسار{ph3}. على Windows 10 ، عقد التحول أثناء النقر بزر "
"الماوس الأيمن."
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <em>
#. {ph3}: </em>
#: website/public/get-started/index.html:521
#, 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} في الباحث ، انقر بزر الماوس الأيمن فوق المجلد ، وعقد الخيار"
" واختيار {ph2}نسخ \" as \" كاسم مسار{ph3}."
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/get-started/index.html:525
#, 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:530
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:537
msgctxt "page:get-started/index.html"
msgid "Use the CLI"
msgstr "استخدام CLI"
#: website/public/get-started/index.html:538
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:544
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:557
#, 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:563
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:564
#, 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\&lt;you&gt;\AppData\Local\Programs\&lt;App&gt;\resources\app.asar</code
#. >
#: website/public/get-started/index.html:569
#, 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/&lt;App&gt;.app/Contents/Resources/app.asar</code >
#. {ph3}: <em>
#. {ph4}: </em>
#: website/public/get-started/index.html:575
#, 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/&lt;App&gt;/resources/app.asar</code>
#: website/public/get-started/index.html:583
#, 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:588
#, 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:593
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:598
#, 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:603
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:615
#, 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:623
msgctxt "page:get-started/index.html"
msgid "Set up native analysis"
msgstr "إعداد تحليل برامج رمز الجهاز"
#: website/public/get-started/index.html:624
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:629
msgctxt "page:get-started/index.html"
msgid "Choose a tool: Ghidra, Hopper or IDA"
msgstr "اختر أداة: Ghidra, Hopper أو IDA"
#: website/public/get-started/index.html:634
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.س التثبيت و 64 بت جدك 21 أو أحدث على Linux أو "
"macOS، على إكس 64 أو أرم 64. الخاص بك Ghidra يحتاج التثبيت إلى برنامج فك "
"التحويل الأصلي لهندسة المضيف. اضبط المسارات قبل تشغيل الإعداد:"
#: website/public/get-started/index.html:641
msgctxt "page:get-started/index.html"
msgid "Connect your Ghidra installation"
msgstr "ربط الخاص بك Ghidra تركيب"
#: website/public/get-started/index.html:644
msgctxt "page:get-started/index.html"
msgid "Ghidra connection · macOS / Linux"
msgstr "Ghidra اتصال · macOS / Linux"
#: website/public/get-started/index.html:659
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 أرم 64 ، قد تحتاج إلى بناء "
"Ghidraالصورة المفكك الأصلي بشكل منفصل."
#: website/public/get-started/index.html:667
msgctxt "page:get-started/index.html"
msgid "Connect Ghidra on Windows"
msgstr "الاتصال Ghidra على Windows"
#: website/public/get-started/index.html:668
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 إكس 64 لديه دعم تجريبي للقراءة فقط لتطبيقات إكس 86 و إكس 64 بي و دلز"
" على محركات نتفس المحلية الثابتة. استخدام القائمة Ghidra 12.1.س التثبيت و 64"
" بت جدك 21 أو أحدث:"
#: website/public/get-started/index.html:676
msgctxt "page:get-started/index.html"
msgid "Ghidra connection · Windows PowerShell"
msgstr "Ghidra اتصال · Windows PowerShell"
#: website/public/get-started/index.html:691
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:701
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. قم بتشغيل أمر الإعداد أعلاه ؛ يكتشف "
"تثبيتا موجودا أو يقدم خطة تثبيت للموافقة عليها."
#: website/public/get-started/index.html:706
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:715
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:721
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:724
#, 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} في ملف جسون. "
"القائمة {ph3} كائن مع {ph4} يتم قبول الدخول أيضا. نقطة REA في هذا الملف قبل "
"الإعداد:"
#: website/public/get-started/index.html:733
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:748
#, 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 ""
"يستخدم الملف الشخصي المرفق أدوات 1.4.0 القديمة مع فتح الثنائي الأصلي بالفعل "
"IDA. يستخدم الملف الشخصي مقطوعة الرأس واجهة برمجة تطبيقات المشرف على قاعدة "
"البيانات الأولية والتسجيل باستخدام {ph0}; التحقق الحقيقي يغطي IDA 9.3 "
"Windows 64 مشرف. يتحقق الطبيب من التسجيل دون البدء IDA."
#. {ph0}: <code>--provider ida</code>
#. {ph1}: <code>REA_IDA_MCP_CONFIG</code>
#: website/public/get-started/index.html:757
#, 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:769
msgctxt "page:get-started/index.html"
msgid "For an existing Ghidra setup, inspect a function with:"
msgstr "للحصول على القائمة Ghidra الإعداد ، فحص وظيفة مع:"
#: website/public/get-started/index.html:774
msgctxt "page:get-started/index.html"
msgid "Function analysis"
msgstr "تحليل الوظيفة"
#. {ph0}: <code>main</code>
#: website/public/get-started/index.html:787
#, 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:792
msgctxt "page:get-started/index.html"
msgid "How native analysis sessions work"
msgstr "كيف يعمل تحليل جلسات برامج كود الآلة"
#: website/public/get-started/index.html:793
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:799
#, 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:806
msgctxt "page:get-started/index.html"
msgid "Getting help"
msgstr "الحصول على المساعدة"
#: website/public/get-started/index.html:807
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:808
#, 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:814
msgctxt "page:get-started/index.html"
msgid "Check one client"
msgstr "تحقق من عميل واحد"
#: website/public/get-started/index.html:826
msgctxt "page:get-started/index.html"
msgid "If a provider needs attention"
msgstr "إذا احتاج مقدم الخدمة إلى الاهتمام"
#: website/public/get-started/index.html:827
msgctxt "page:get-started/index.html"
msgid "Check the provider you're using. For Ghidra:"
msgstr "تحقق من الموفر الذي تستخدمه. ل Ghidra:"
#: website/public/get-started/index.html:830
msgctxt "page:get-started/index.html"
msgid "Check one provider"
msgstr "تحقق من مزود واحد"
#: website/public/get-started/index.html:842
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:844
#, 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:848
#, 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:855
#, 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:859
#, 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:212
msgctxt "page:get-started/index.html"
msgid "Copy Node.js version check"
msgstr "نسخ Node.js فحص الإصدار"
#: website/public/get-started/index.html:233
msgctxt "page:get-started/index.html"
msgid "Copy Node.js installation command for Windows"
msgstr "نسخ Node.js أمر التثبيت ل Windows"
#: website/public/get-started/index.html:256
msgctxt "page:get-started/index.html"
msgid "Copy PowerShell execution policy command"
msgstr "نسخ أمر سياسة تنفيذ PowerShell"
#: website/public/get-started/index.html:272
msgctxt "page:get-started/index.html"
msgid "Copy Homebrew Node.js installation command"
msgstr "نسخ Homebrew Node.js أمر التثبيت"
#: website/public/get-started/index.html:287
msgctxt "page:get-started/index.html"
msgid "Copy fnm installation command for macOS"
msgstr "نسخة فنم أمر التثبيت ل macOS"
#: website/public/get-started/index.html:302
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:318
msgctxt "page:get-started/index.html"
msgid "Copy fnm installation command for Linux"
msgstr "نسخة فنم أمر التثبيت ل Linux"
#: website/public/get-started/index.html:337
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:360
msgctxt "page:get-started/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/get-started/index.html:369
msgctxt "page:get-started/index.html"
msgid "REA getting started guide"
msgstr "REA دليل البدء"
#: website/public/get-started/index.html:423
msgctxt "page:get-started/index.html"
msgid "Copy REA installation prompt"
msgstr "نسخ REA موجه التثبيت"
#: website/public/get-started/index.html:469
msgctxt "page:get-started/index.html"
msgid "Copy agent setup command"
msgstr "أمر إعداد وكيل النسخ"
#: website/public/get-started/index.html:545
msgctxt "page:get-started/index.html"
msgid "Copy JavaScript analysis command"
msgstr "نسخ JavaScript أمر التحليل"
#: website/public/get-started/index.html:604
msgctxt "page:get-started/index.html"
msgid "Copy CLI installation command"
msgstr "نسخ CLI أمر التثبيت"
#: website/public/get-started/index.html:645
msgctxt "page:get-started/index.html"
msgid "Copy Ghidra connection for macOS and Linux"
msgstr "نسخ أمر اتصال Ghidra على macOS وLinux"
#: website/public/get-started/index.html:677
msgctxt "page:get-started/index.html"
msgid "Copy Ghidra connection for Windows PowerShell"
msgstr "نسخ Ghidra اتصال ل Windows PowerShell"
#: website/public/get-started/index.html:734
msgctxt "page:get-started/index.html"
msgid "Copy IDA connection for Windows PowerShell"
msgstr "نسخ IDA اتصال ل Windows PowerShell"
#: website/public/get-started/index.html:775
msgctxt "page:get-started/index.html"
msgid "Copy native function analysis command"
msgstr "نسخ أمر تحليل الوظيفة الأصلية"
#: website/public/get-started/index.html:815
msgctxt "page:get-started/index.html"
msgid "Copy client diagnosis command"
msgstr "نسخ أمر تشخيص العميل"
#: website/public/get-started/index.html:831
msgctxt "page:get-started/index.html"
msgid "Copy provider diagnosis command"
msgstr "أمر تشخيص مزود النسخ"
#: website/public/get-started/index.html:882
msgctxt "page:get-started/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/guides/browser/index.html:103
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:194
#, 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:198
#, 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:199
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:206
msgctxt "page:guides/browser/index.html"
msgid "In this guide"
msgstr "في هذا الدليل"
#. {ph0}: <a href="#example">
#. {ph1}: </a>
#: website/public/guides/browser/index.html:208
#, 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:209
#, 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:210
#, 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:211
#, 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:212
#, 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:217
msgctxt "page:guides/browser/index.html"
msgid "What happens when you click Export?"
msgstr "ماذا يحدث عند النقر فوق تصدير?"
#. {ph0}: <a href="../../examples/notes-web/">
#. {ph1}: </a>
#. {ph2}: <strong>
#. {ph3}: </strong>
#. {ph4}: <code>notes.json</code>
#: website/public/guides/browser/index.html:218
#, 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:226
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:228
#, 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:236
#, 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}التقاط عنوان ورل الطلب وحالة "
"الاستجابة وهيكل جسون من الصفحة المحددة.{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:244
#, 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:257
msgctxt "page:guides/browser/index.html"
msgid "Start the capture before clicking Export notes."
msgstr "ابدأ الالتقاط قبل النقر فوق تصدير الملاحظات."
#: website/public/guides/browser/index.html:263
msgctxt "page:guides/browser/index.html"
msgid "Open Chrome with remote debugging"
msgstr "فتح Chrome مع التصحيح عن بعد"
#: website/public/guides/browser/index.html:264
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:270
msgctxt "page:guides/browser/index.html"
msgid "Start the example browser"
msgstr "ابدأ تشغيل متصفح المثال"
#: website/public/guides/browser/index.html:271
#: website/public/guides/browser/index.html:303
#: website/public/guides/browser/index.html:337
#: website/public/guides/browser/index.html:356
#: website/public/guides/browser/index.html:421
msgctxt "page:guides/browser/index.html"
msgid "Copy"
msgstr "نسخ"
#: website/public/guides/browser/index.html:285
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. يمكنك "
"استبدال رابط الصفحة بصفحة أخرى تريد فحصها."
#: website/public/guides/browser/index.html:290
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:296
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:299
#, 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:312
#, 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:320
#, 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}، وعنوان الصفحة. السماح "
"لها بدء التقاط قبل النقر فوق."
#: website/public/guides/browser/index.html:325
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:332
msgctxt "page:guides/browser/index.html"
msgid "Or capture from the terminal"
msgstr "أو التقاط من المحطة"
#: website/public/guides/browser/index.html:333
msgctxt "page:guides/browser/index.html"
msgid "Find the page's target ID:"
msgstr "ابحث عن معرف الهدف للصفحة:"
#: website/public/guides/browser/index.html:336
msgctxt "page:guides/browser/index.html"
msgid "Find the page"
msgstr "ابحث عن الصفحة"
#. {ph0}: <code>TARGET_ID</code>
#: website/public/guides/browser/index.html:349
#, 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 ""
"اختر الهدف مع عنوان ورل مثال الملاحظات. استبدال {ph0} أدناه مع معرفه ، ثم "
"تشغيل:"
#: website/public/guides/browser/index.html:355
msgctxt "page:guides/browser/index.html"
msgid "Capture the next ten seconds"
msgstr "التقاط الثواني العشر القادمة"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/browser/index.html:371
#, 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:376
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 ""
"تتضمن النتيجة الملتقطة الصفحة المحددة ونشاط الشبكة أثناء تلك النافذة وشكل "
"استجابة جسون. الطلبات السابقة خارج هذا الالتقاط."
#: website/public/guides/browser/index.html:383
msgctxt "page:guides/browser/index.html"
msgid "Read the request and export script"
msgstr "قراءة الطلب وتصدير البرنامج النصي"
#: website/public/guides/browser/index.html:386
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:391
msgctxt "page:guides/browser/index.html"
msgid "Captured fact"
msgstr "حقيقة القبض"
#: website/public/guides/browser/index.html:392
msgctxt "page:guides/browser/index.html"
msgid "Value"
msgstr "القيمة"
#: website/public/guides/browser/index.html:397
msgctxt "page:guides/browser/index.html"
msgid "Request"
msgstr "الطلب"
#: website/public/guides/browser/index.html:401
msgctxt "page:guides/browser/index.html"
msgid "Response"
msgstr "الرد"
#: website/public/guides/browser/index.html:405
msgctxt "page:guides/browser/index.html"
msgid "Request initiator"
msgstr "طلب البادئ"
#. {ph0}: <code>export.js</code>
#: website/public/guides/browser/index.html:406
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "{ph0} · script"
msgstr "{ph0} * النصي"
#: website/public/guides/browser/index.html:409
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:410
#, 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:420
msgctxt "page:guides/browser/index.html"
msgid "Read the loaded scripts"
msgstr "قراءة البرامج النصية المحملة"
#. {ph0}: <code>export.js</code>
#: website/public/guides/browser/index.html:434
#, 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:454
#, 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 ""
"يتم إنشاء التنزيل في الصفحة باستخدام استجابة جسون. ال CSV تأتي خطوة التنسيق "
"من البرنامج النصي ؛ يثبت التقاط الشبكة أن هذه النقرة مطلوبة {ph0}."
#. {ph0}: <code>notes.json</code>
#: website/public/guides/browser/index.html:470
#, 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:475
#, 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:205
msgctxt "page:guides/browser/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/guides/browser/index.html:215
msgctxt "page:guides/browser/index.html"
msgid "Browser observation"
msgstr "مراقبة المتصفح"
#: website/public/guides/browser/index.html:271
msgctxt "page:guides/browser/index.html"
msgid "Copy start the example browser"
msgstr "نسخ بدء متصفح المثال"
#: website/public/guides/browser/index.html:303
msgctxt "page:guides/browser/index.html"
msgid "Copy example prompt"
msgstr "نسخة مثال موجه"
#: website/public/guides/browser/index.html:337
msgctxt "page:guides/browser/index.html"
msgid "Copy find the page"
msgstr "نسخ ابحث عن الصفحة"
#: website/public/guides/browser/index.html:356
msgctxt "page:guides/browser/index.html"
msgid "Copy capture the next ten seconds"
msgstr "نسخ التقاط الثواني العشر القادمة"
#: website/public/guides/browser/index.html:421
msgctxt "page:guides/browser/index.html"
msgid "Copy read the loaded scripts"
msgstr "نسخ قراءة البرامج النصية المحملة"
#: website/public/guides/browser/index.html:507
msgctxt "page:guides/browser/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/guides/index.html:103
msgctxt "page:guides/index.html"
msgid "Skip to content"
msgstr "تخطي إلى المحتوى"
#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/guides/index.html:194
#, python-brace-format
msgctxt "page:guides/index.html"
msgid "{ph0}Home{ph1} / Guides"
msgstr "{ph0}الرئيسية{ph1} / أدلة"
#: website/public/guides/index.html:195
msgctxt "page:guides/index.html"
msgid "REA guides."
msgstr "REA أدلة."
#: website/public/guides/index.html:196
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:203
msgctxt "page:guides/index.html"
msgid "First investigation"
msgstr "التحقيق الأول"
#: website/public/guides/index.html:205
msgctxt "page:guides/index.html"
msgid "Set up REA"
msgstr "إعداد REA"
#: website/public/guides/index.html:206
msgctxt "page:guides/index.html"
msgid "Connect your coding agent or use REA from the terminal."
msgstr "ربط مساعدك البرمجي أو استخدام REA من المحطة."
#: website/public/guides/index.html:207
msgctxt "page:guides/index.html"
msgid "Get started with REA"
msgstr "تبدأ مع REA"
#: website/public/guides/index.html:211
msgctxt "page:guides/index.html"
msgid "Native binaries"
msgstr "برامج كود الآلة"
#: website/public/guides/index.html:213
msgctxt "page:guides/index.html"
msgid "Recover a sound-pan calculation"
msgstr "استعادة حساب يسار / يمين موقف الصوت"
#: website/public/guides/index.html:214
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 لعبة قابلة للتنفيذ. فحص التعليمات ، اتبع الدالة المستدعية ، "
"وقراءة الثوابت الرقمية والتحقق من ج المستردة."
#: website/public/guides/index.html:224
msgctxt "page:guides/index.html"
msgid "Native analysis guide"
msgstr "تحليل دليل برامج كود الآلة"
#: website/public/guides/index.html:228
msgctxt "page:guides/index.html"
msgid "JavaScript & Electron"
msgstr "JavaScript & Electron"
#: website/public/guides/index.html:230
msgctxt "page:guides/index.html"
msgid "Follow a CSV export"
msgstr "اتبع أ CSV تصدير"
#: website/public/guides/index.html:231
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 لتوصيل أبي ، قناة إيبك وكاتب الملف."
#: website/public/guides/index.html:241
msgctxt "page:guides/index.html"
msgid "JavaScript & Electron guide"
msgstr "JavaScript & Electron دليل"
#. {ph0}: <a href="../showcase/notion/">
#. {ph1}: </a>
#: website/public/guides/index.html:244
#, 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:251
msgctxt "page:guides/index.html"
msgid "Browser behavior"
msgstr "سلوك المتصفح"
#: website/public/guides/index.html:253
msgctxt "page:guides/index.html"
msgid "Observe a click"
msgstr "مراقبة نقرة"
#: website/public/guides/index.html:254
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:263
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:282
msgctxt "page:guides/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/guides/javascript/index.html:103
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:194
#, 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:198
#, 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:199
msgctxt "page:guides/javascript/index.html"
msgid ""
"Follow a button click from the page API, through Electron IPC, to the CSV "
"file writer."
msgstr ""
"اتبع نقرة زر من واجهة برمجة تطبيقات الصفحة ، من خلال Electron التصنيف الدولي"
" للبراءات ، إلى CSV كاتب ملف."
#: website/public/guides/javascript/index.html:206
msgctxt "page:guides/javascript/index.html"
msgid "In this guide"
msgstr "في هذا الدليل"
#. {ph0}: <a href="#example">
#. {ph1}: </a>
#: website/public/guides/javascript/index.html:208
#, 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:209
#, 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:210
#, 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:211
#, 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:212
#, 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:217
msgctxt "page:guides/javascript/index.html"
msgid "Where does “Export notes” go?"
msgstr "أين تذهب\" ملاحظات التصدير\"?"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/javascript/index.html:218
#, 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}"
" يدعو أبي في الصفحة ، يعبر إلى العملية الرئيسية ، ويكتب CSV. ينتشر السلوك "
"عبر عدة ملفات."
#: website/public/guides/javascript/index.html:225
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:229
#, 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} يدعو أبي يتعرض من "
"قبل {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:237
#, 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}يستدعي التحميل المسبق قناة التصنيف"
" الدولي للبراءات: رسالة مسماة إلى العملية الرئيسية.{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:245
#, 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:254
#, 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:258
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 يطابق دعوة إيبك الحرفية إلى معالجها ويحدد أبي المكشوفة. يتم استنتاج "
"المسار من التعليمات البرمجية ؛ يمكن لالتقاط وقت التشغيل التحقق مما يتم "
"تنفيذه."
#: website/public/guides/javascript/index.html:266
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:267
#, 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:273
#, 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:277
#: website/public/guides/javascript/index.html:426
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:286
#, 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:294
#, 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:298
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:305
msgctxt "page:guides/javascript/index.html"
msgid "Trace the export code"
msgstr "تتبع رمز التصدير"
#: website/public/guides/javascript/index.html:306
msgctxt "page:guides/javascript/index.html"
msgid "The page calls a small API"
msgstr "تستدعي الصفحة واجهة برمجة تطبيقات صغيرة"
#: website/public/guides/javascript/index.html:319
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:333
#, 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:350
#, 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 ""
"قراءة المعالج يجيب على السؤال الأصلي: {ph0} تنسيق الملاحظات ، والعملية "
"الرئيسية يكتب {ph1} في مجلد التنزيلات الخاص بالمستخدم."
#: website/public/guides/javascript/index.html:367
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 في المثال القابل للتنزيل أدناه. تصاحب مواقع المصدر "
"نتائج واجهة برمجة التطبيقات والقناة والمعالج."
#: website/public/guides/javascript/index.html:373
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:380
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0}Download example ZIP{ph1}"
msgstr "{ph0}تحميل مثال الرمز البريدي{ph1}"
#: website/public/guides/javascript/index.html:389
msgctxt "page:guides/javascript/index.html"
msgid "Browse the six source files"
msgstr "تصفح ملفات المصدر الستة"
#: website/public/guides/javascript/index.html:425
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:438
#, 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 ""
"استبدل المسار بالمجلد الذي قمت بفك ضغطه. يجب أن تجد قناة إيبك واحدة ومعالج "
"واحد مطابقة في {ph0}. مواقع المصدر في {ph1}."
#: website/public/guides/javascript/index.html:444
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 الطريق. يمكن للوكيل "
"اتباع سلسلة حرفية أو اسم واجهة برمجة التطبيقات أو قناة إيبك مع REAأدوات تتبع"
" الميزات."
#: website/public/guides/javascript/index.html:451
msgctxt "page:guides/javascript/index.html"
msgid "Inspect the CSV writer"
msgstr "فحص CSV كاتب"
#. {ph0}: <code>notes:export</code>
#: website/public/guides/javascript/index.html:453
#, 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 كاتب, وماذا يحدث إذا فشلت "
"كتابة الملف?"
#: website/public/guides/javascript/index.html:459
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:465
#, 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:471
#, 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:477
#, 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 تصدير من خلال أبي العارض ، التحميل المسبق ومعالج إيبك مع "
"REA. يتضمن ملفات أمثلة قابلة للتنزيل ونتائج تحليل تم التحقق منها."
#: website/public/guides/javascript/index.html:205
msgctxt "page:guides/javascript/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/guides/javascript/index.html:215
msgctxt "page:guides/javascript/index.html"
msgid "JavaScript & Electron"
msgstr "JavaScript & Electron"
#: website/public/guides/javascript/index.html:277
msgctxt "page:guides/javascript/index.html"
msgid "Copy example prompt"
msgstr "نسخة مثال موجه"
#: website/public/guides/javascript/index.html:426
msgctxt "page:guides/javascript/index.html"
msgid "Copy static application analysis"
msgstr "نسخ تحليل التطبيق الثابت"
#: website/public/guides/javascript/index.html:503
msgctxt "page:guides/javascript/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/guides/native/index.html:103
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:194
#, 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:197
#, 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:198
msgctxt "page:guides/native/index.html"
msgid ""
"Inspect the original instructions, identify the input and constants, then "
"check the recovered C."
msgstr ""
"افحص التعليمات الأصلية ، وحدد المدخلات والثوابت ، ثم تحقق من ج المستردة."
#: website/public/guides/native/index.html:205
msgctxt "page:guides/native/index.html"
msgid "In this guide"
msgstr "في هذا الدليل"
#. {ph0}: <a href="#example">
#. {ph1}: </a>
#: website/public/guides/native/index.html:207
#, 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:208
#, 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:209
#, 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:210
#, 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:211
#, 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:216
msgctxt "page:guides/native/index.html"
msgid "Calculate left/right sound panning"
msgstr "حساب اليسار / اليمين ستيريو الصوت لتحديد المواقع"
#: website/public/guides/native/index.html:217
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:221
#, 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:228
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:230
#, 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:235
#, 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}نتيجة فك التحويل البرمجي / الكود الكاذب:{ph1} محاولة أداة تحليل لتحويل "
"التعليمات مرة أخرى إلى ج مثل التعليمات البرمجية. يمكن أن تفوت أجزاء ، كما في"
" هذا المثال."
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/native/index.html:240
#, 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:244
#, 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:248
#, 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:255
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:259
#, 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:267
#, 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:275
#, 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:287
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:294
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:295
#, 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:306
msgctxt "page:guides/native/index.html"
msgid "Which analysis tool should I use?"
msgstr "ما هي أداة التحليل التي يجب أن أستخدمها?"
#: website/public/guides/native/index.html:307
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:309
#, 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:315
#, 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.س التثبيت و 64 بت جدك 21 أو أحدث."
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/native/index.html:320
#, 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:325
#, 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:333
#, 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:337
#: website/public/guides/native/index.html:468
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:346
#, 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:354
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:361
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:363
#, 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} في مستكشف الملفات ، انقر بزر الماوس الأيمن فوق الملف "
"واختر {ph2}نسخ كمسار{ph3}. على Windows 10 ، عقد التحول أثناء النقر بزر "
"الماوس الأيمن."
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <em>
#. {ph3}: </em>
#: website/public/guides/native/index.html:368
#, 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} في الباحث ، انقر بزر الماوس الأيمن فوق الملف ، وعقد الخيار "
"واختيار {ph2}نسخ \" as \" كاسم مسار{ph3}."
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/native/index.html:372
#, 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:380
msgctxt "page:guides/native/index.html"
msgid "Read the REA results"
msgstr "قراءة REA النتائج"
#: website/public/guides/native/index.html:381
msgctxt "page:guides/native/index.html"
msgid "Read the input"
msgstr "قراءة المدخلات"
#: website/public/guides/native/index.html:390
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:395
msgctxt "page:guides/native/index.html"
msgid "Follow the caller"
msgstr "اتبع الدالة المستدعية"
#. {ph0}: <code>0x14</code>
#: website/public/guides/native/index.html:404
#, 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:409
msgctxt "page:guides/native/index.html"
msgid "Read the referenced constants"
msgstr "قراءة الثوابت المشار إليها"
#: website/public/guides/native/index.html:420
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:427
msgctxt "page:guides/native/index.html"
msgid "Write and check the recovered function"
msgstr "اكتب وتحقق من الوظيفة المستردة"
#: website/public/guides/native/index.html:436
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:441
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شيكات منفصلة مقارنة 3205 المدخلات ضد وظيفة س 86 الأصلي "
"واستنساخها كل 63 بايت المترجمة من وظيفة كاملة."
#. {ph0}: <a href="../../showcase/dx-ball/#sound-pan" >
#. {ph1}: </a >
#: website/public/guides/native/index.html:446
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "{ph0}See the full investigation and assembly-to-C comparison{ph1}"
msgstr "{ph0}انظر التحقيق الكامل ومقارنة التجميع إلى ج{ph1}"
#: website/public/guides/native/index.html:453
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:454
#, 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:461
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:467
msgctxt "page:guides/native/index.html"
msgid "Function analysis"
msgstr "تحليل الوظيفة"
#. {ph0}: <code>main</code>
#: website/public/guides/native/index.html:480
#, 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:486
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: فحص التعليمات ، اتبع الدالة المستدعية ، وقراءة "
"الثوابت والتحقق من إعادة بنائها ج."
#: website/public/guides/native/index.html:204
msgctxt "page:guides/native/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/guides/native/index.html:214
msgctxt "page:guides/native/index.html"
msgid "Native analysis"
msgstr "تحليل برامج كود الآلة"
#: website/public/guides/native/index.html:337
msgctxt "page:guides/native/index.html"
msgid "Copy example prompt"
msgstr "نسخة مثال موجه"
#: website/public/guides/native/index.html:468
msgctxt "page:guides/native/index.html"
msgid "Copy function analysis"
msgstr "نسخ تحليل وظيفة"
#: website/public/guides/native/index.html:509
msgctxt "page:guides/native/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/index.html:105
msgctxt "page:index.html"
msgid "Skip to content"
msgstr "تخطي إلى المحتوى"
#: website/public/index.html:196 website/public/index.html:206
#: website/public/index.html:204
msgctxt "page:index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/index.html:197 website/public/index.html:251
msgctxt "page:index.html"
msgid "Set up REA"
msgstr "إعداد REA"
#. {ph0}: <a href="#setup" aria-current="location">
#. {ph1}: </a>
#: website/public/index.html:208
#, 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:209
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}What is RE?{ph1}"
msgstr "{ph0}ما هو إعادة?{ph1}"
#. {ph0}: <a href="#how-rea-helps">
#. {ph1}: </a>
#: website/public/index.html:210
#, 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:211
#, 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:212
#, 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:213
#, 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:214
#, 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:215
#, 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:216
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Community{ph1}"
msgstr "{ph0}المجتمع{ph1}"
#: website/public/index.html:225
msgctxt "page:index.html"
msgid "Reverse engineering, with your coding agent"
msgstr "الهندسة العكسية ، مع مساعدك البرمجي"
#. {ph0}: <br />
#: website/public/index.html:226
#, python-brace-format
msgctxt "page:index.html"
msgid "Find out how{ph0}software works."
msgstr "اكتشف كيف{ph0}تعمل البرامج."
#: website/public/index.html:227
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:241
#, 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:245
#, python-brace-format
msgctxt "page:index.html"
msgid "Want to go deeper? {ph0}Read the Blog →{ph1}"
msgstr "تريد أن تذهب أعمق? {ph0}اقرأ المدونة Blog{ph1}"
#: website/public/index.html:252
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:255
#, 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:260 website/public/index.html:282
#: website/public/index.html:497 website/public/index.html:665
#: website/public/index.html:901 website/public/index.html:1063
#: website/public/index.html:1091
msgctxt "page:index.html"
msgid "Copy"
msgstr "نسخ"
#: website/public/index.html:279
msgctxt "page:index.html"
msgid "Or run this in your terminal:"
msgstr "أو نفّذ هذا الأمر في الطرفية:"
#: website/public/index.html:291
msgctxt "page:index.html"
msgid "Approve the setup plan, then restart your agent."
msgstr "راجع خطة الإعداد ووافق عليها، ثم أعد تشغيل المساعد."
#: website/public/index.html:306
msgctxt "page:index.html"
msgid "What is reverse engineering?"
msgstr "ما هي الهندسة العكسية؟"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:307
#, 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:312
#, 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:330
#, 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:339
#, 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:347
#, 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:355
#, 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:370
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Original x64 · selected instructions{ph1} {ph2}{ph3}"
msgstr "{ph0}الأصل · 64 * تعليمات مختارة{ph1} {ph2}{ph3}"
#: website/public/index.html:409
msgctxt "page:index.html"
msgid "01 · Which branch?"
msgstr "01 * أي فرع?"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:410
#, python-brace-format
msgctxt "page:index.html"
msgid ""
"“{ph0}0x5b? 0x5c?{ph1} Two jumps to the same place. Which operators are "
"these?”"
msgstr ""
"“{ph0}0/5 ب? 0 * 5 ج?{ph1} اثنين يقفز إلى نفس المكان. التي مشغلي هذه?”"
#: website/public/index.html:414
msgctxt "page:index.html"
msgid "Look up the command IDs, then label the branch."
msgstr "ابحث عن معرفات الأوامر ، ثم قم بتسمية الفرع."
#: website/public/index.html:420
msgctxt "page:index.html"
msgid "Divide ÷"
msgstr "تقسيم ÷"
#: website/public/index.html:424
msgctxt "page:index.html"
msgid "Multiply ×"
msgstr "ضرب ×"
#: website/public/index.html:429
msgctxt "page:index.html"
msgid "02 · What do the calls do?"
msgstr "02 · ماذا تفعل الدوال المستدعاة؟"
#. {ph0}: <strong>
#. {ph1}: </strong >
#: website/public/index.html:430
#, 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:435
msgctxt "page:index.html"
msgid "Inspect the helpers and trace the stored values."
msgstr "افحص وظائف المساعد وتتبع القيم المخزنة."
#: website/public/index.html:445
msgctxt "page:index.html"
msgid "Divide"
msgstr "تقسيم"
#: website/public/index.html:450
msgctxt "page:index.html"
msgid "03 · What is the rule?"
msgstr "03 * ما هي القاعدة?"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:451
#, 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:455
msgctxt "page:index.html"
msgid "Name the operands and check both operator paths."
msgstr "قم بتسمية المعاملات وتحقق من كلا مساري المشغل."
#: website/public/index.html:471 website/public/index.html:399
msgctxt "page:index.html"
msgid "Illustrative expert reasoning"
msgstr "منطق الخبراء التوضيحي"
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/index.html:474
#, 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:482
#, python-brace-format
msgctxt "page:index.html"
msgid "With REA · You ask {ph0}your agent{ph1}"
msgstr "مع REA · تسأل {ph0}مساعدك{ph1}"
#: website/public/index.html:486
msgctxt "page:index.html"
msgid "One prompt."
msgstr "طلب واحد فقط."
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:487
#, 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:492
#, 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:514
msgctxt "page:index.html"
msgid "Example answer · based on the findings"
msgstr "مثال على الإجابة * بناء على النتائج"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:517
#, 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:529
msgctxt "page:index.html"
msgid "REA supplies"
msgstr "ما يوفّره REA"
#: website/public/index.html:530
msgctxt "page:index.html"
msgid "The handler’s instructions, decompiled code and calls."
msgstr "تعليمات المعالج ، رمز فك والمكالمات."
#: website/public/index.html:535
msgctxt "page:index.html"
msgid "Your agent explains"
msgstr "ما يشرحه المساعد"
#: website/public/index.html:536
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:543
#, 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 ""
"التجمع المحدد من دلل آلة حاسبة مثبتة. الأفكار والرد توضح النتائج. {ph0}تواصل"
" مع مثال الآلة الحاسبة ↓{ph1}"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:554
#, 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:560
msgctxt "page:index.html"
msgid "Example 01 · Chrome’s dinosaur game"
msgstr "مثال 01 · Chromeلعبة الديناصورات"
#: website/public/index.html:561
msgctxt "page:index.html"
msgid "Why does the dinosaur get faster?"
msgstr "لماذا يصبح الديناصور أسرع؟"
#: website/public/index.html:565 website/public/index.html:803
msgctxt "page:index.html"
msgid "Goal"
msgstr "الهدف"
#. {ph0}: <mark class="prose-highlight">
#. {ph1}: </mark>
#: website/public/index.html:566
#, python-brace-format
msgctxt "page:index.html"
msgid "Rebuild the game with {ph0}adjustable speed.{ph1}"
msgstr "إعادة بناء اللعبة مع {ph0}سرعة قابلة للتعديل.{ph1}"
#: website/public/index.html:572 website/public/index.html:810
msgctxt "page:index.html"
msgid "Why reverse engineer it?"
msgstr "لماذا عكس هندسة ذلك?"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:573
#, 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:582
msgctxt "page:index.html"
msgid "Play the reconstruction"
msgstr "جرّب اللعبة المعاد بناؤها"
#: website/public/index.html:614
msgctxt "page:index.html"
msgid "Play"
msgstr "العب"
#: website/public/index.html:617
msgctxt "page:index.html"
msgid "Jump ↑"
msgstr "اقفز ↑"
#: website/public/index.html:618
msgctxt "page:index.html"
msgid "Restart"
msgstr "ابدأ من جديد"
#: website/public/index.html:621
msgctxt "page:index.html"
msgid "Speed"
msgstr "السرعة"
#: website/public/index.html:631
msgctxt "page:index.html"
msgid "Use the recovered acceleration rule"
msgstr "استخدم قاعدة التسارع المستردة"
#: website/public/index.html:635
msgctxt "page:index.html"
msgid "Original rule: start at 6, then increase toward 13."
msgstr "القاعدة الأصلية: ابدأ من 6 ، ثم زد نحو 13."
#: website/public/index.html:638
msgctxt "page:index.html"
msgid "Move the slider to set your own speed. Space or Jump clears a cactus."
msgstr "حرك شريط التمرير لضبط السرعة الخاصة بك. الفضاء أو القفز يزيل الصبار."
#: website/public/index.html:643
msgctxt "page:index.html"
msgid ""
"Enable JavaScript to play the reconstruction. The code and explanation above"
" remain readable."
msgstr ""
"تمكين JavaScript للعب إعادة الإعمار. يظل الرمز والشرح أعلاه قابلا للقراءة."
#: website/public/index.html:651 website/public/index.html:881
msgctxt "page:index.html"
msgid "REA returned"
msgstr "ما أعاده REA"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:652
#, 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:660
#, 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:674
#, 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:683
#, python-brace-format
msgctxt "page:index.html"
msgid "Inspected target: {ph0}wayou’s Chromium-derived browser edition{ph1}."
msgstr "الهدف الذي تم فحصه: {ph0}وايو Chromium- مستمد متصفح الطبعة{ph1}."
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <strong>
#. {ph3}: </strong>
#. {ph4}: <strong>
#. {ph5}: </strong>
#: website/public/index.html:700
#, 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:705
msgctxt "page:index.html"
msgid "Open the speed lab →"
msgstr "افتح مختبر السرعة →"
#: website/public/index.html:711
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:713
#, 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:720
#, 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:728
#, 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:739
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:742
#, 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 تفقد إصدار متصفح هتب من خلال اتصال التصحيح المحلي وعاد تحميلها {ph0}، "
"بما في ذلك مصدرها وهضمها."
#: website/public/index.html:755
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:761
#, 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:767
#, 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}. امنح وكيلك عنوان ورل للصفحة ونقطة نهاية التصحيح المحلية ، "
"ثم انسخ المطالبة أعلاه."
#. {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:776
#, python-brace-format
msgctxt "page:index.html"
msgid ""
"{ph0}Inspected speed code{ph1} · {ph2}Chromium Authors · BSD license{ph3}"
msgstr "{ph0}فحص رمز السرعة{ph1} · {ph2}Chromium الكتاب * رخصة بسد{ph3}"
#: website/public/index.html:793
msgctxt "page:index.html"
msgid "Example 02 · Windows Calculator"
msgstr "مثال 02 · Windows آلة حاسبة"
#: website/public/index.html:794
msgctxt "page:index.html"
msgid "Rebuild Calculator’s % button."
msgstr "أعد بناء زر % في الآلة الحاسبة."
#. {ph0}: <mark class="prose-highlight">
#. {ph1}: </mark>
#: website/public/index.html:804
#, python-brace-format
msgctxt "page:index.html"
msgid ""
"Build a small calculator that handles {ph0}both + and × correctly.{ph1}"
msgstr "بناء آلة حاسبة صغيرة أن يعالج {ph0}كلا + و correctly بشكل صحيح.{ph1}"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:811
#, 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:820
msgctxt "page:index.html"
msgid "Try the calculation"
msgstr "جرب الحساب"
#: website/public/index.html:864
msgctxt "page:index.html"
msgid "Reset"
msgstr "إعادة ضبط"
#: website/public/index.html:872
msgctxt "page:index.html"
msgid "10% of 200 = 20. Then 200 + 20 = 220."
msgstr "10 ٪ من 200 = 20. ثم 200 + 20 = 220."
#: website/public/index.html:875
msgctxt "page:index.html"
msgid "Interactive illustration of the inspected percentage rule."
msgstr "توضيح تفاعلي لقاعدة النسبة المئوية التي تم فحصها."
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/index.html:882
#, 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:890
#, 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:896
#, 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}مثال موجه * إعادة بناء زر ٪"
#. {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:910
#, 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:931
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:932
#, 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:938
msgctxt "page:index.html"
msgid "With ×"
msgstr "مع ×"
#. {ph0}: <strong>
#. {ph1}: </strong >
#. {ph2}: <code>200 × 0.1 = 20</code>
#: website/public/index.html:939
#, 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:948
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:961
#, 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}إرجاع رمز المعالج ٪ {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:969
#, 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:980
msgctxt "page:index.html"
msgid "See the real code and how the answer was checked"
msgstr "انظر الرمز الحقيقي وكيف تم التحقق من الإجابة"
#: website/public/index.html:1006
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, س 64. يستخدم الملخص "
"المقروء أسماء من المصدر العام لمايكروسوفت لشرح الفرع المسترد."
#. {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:1011
#, 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:1030
msgctxt "page:index.html"
msgid "Your first investigation"
msgstr "التحقيق الأول الخاص بك"
#: website/public/index.html:1031
msgctxt "page:index.html"
msgid "Try REA on a small app."
msgstr "حاول REA على تطبيق صغير."
#: website/public/index.html:1032
msgctxt "page:index.html"
msgid ""
"Download our Notes example, trace its CSV export, and check one changed "
"input."
msgstr ""
"تحميل ملاحظاتنا سبيل المثال ، تتبع لها CSV تصدير ، وتحقق من إدخال واحد تم "
"تغييره."
#: website/public/index.html:1037
msgctxt "page:index.html"
msgid "Try the guided example"
msgstr "جرب المثال الإرشادي"
#: website/public/index.html:1046
msgctxt "page:index.html"
msgid "Want to go deeper?"
msgstr "هل تريد التعمّق أكثر؟"
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <strong>
#. {ph3}: </strong>
#: website/public/index.html:1047
#, 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:1058
#, 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}مثال موجه * الموقع"
#: website/public/index.html:1081
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:1086
#, 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:1100
#, 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 لإعادة بناء هذه اللعبة من تنفيذها. استعادة منطق "
"اللعب في ج واختباره ضد الأصلي.{ph3}{ph4}{ph5}"
#. {ph0}: <a href="showcase/dx-ball/">
#. {ph1}: </a>
#: website/public/index.html:1109
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}See the DX-Ball case study →{ph1}"
msgstr "{ph0}انظر ال DX-Ball دراسة حالة case{ph1}"
#: website/public/index.html:1114
msgctxt "page:index.html"
msgid "For setup and analysis steps, choose your target:"
msgstr "لخطوات الإعداد والتحليل ، اختر هدفك:"
#: website/public/index.html:1119
msgctxt "page:index.html"
msgid "Native binaries"
msgstr "برامج كود الآلة"
#: website/public/index.html:1120
msgctxt "page:index.html"
msgid ""
"Inspect functions, strings, references and call relationships in executables"
" and libraries."
msgstr ""
"فحص الوظائف والسلاسل والمراجع وعلاقات استدعاء الوظائف في الملفات التنفيذية "
"والمكتبات."
#: website/public/index.html:1124
msgctxt "page:index.html"
msgid "Native analysis guide"
msgstr "تحليل دليل برامج كود الآلة"
#: website/public/index.html:1127
msgctxt "page:index.html"
msgid "JavaScript & Electron"
msgstr "JavaScript & Electron"
#: website/public/index.html:1128
msgctxt "page:index.html"
msgid ""
"Map modules, routes, IPC and native dependencies from an application folder "
"or ASAR archive."
msgstr ""
"وحدات الخريطة ، والطرق ، والتصنيف الدولي للبراءات والتبعيات الأصلية من مجلد "
"التطبيق أو ASAR أرشيف."
#: website/public/index.html:1132
msgctxt "page:index.html"
msgid "Application workflows"
msgstr "سير عمل التطبيق"
#: website/public/index.html:1135
msgctxt "page:index.html"
msgid "Browser & runtime activity"
msgstr "نشاط المتصفح ووقت التشغيل"
#: website/public/index.html:1136
msgctxt "page:index.html"
msgid ""
"Capture selected browser or process activity, then compare the results "
"across runs."
msgstr ""
"التقط المتصفح المحدد أو نشاط العملية ، ثم قارن النتائج عبر عمليات التشغيل."
#: website/public/index.html:1140
msgctxt "page:index.html"
msgid "Browser observation guide"
msgstr "دليل مراقبة المتصفح"
#: website/public/index.html:1147
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:1148
#, 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:1161 website/public/index.html:1167
msgctxt "page:index.html"
msgid "Join the community"
msgstr "انضم إلى المجتمع"
#: website/public/index.html:1162
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 على س للحصول على تحديثات المشروع."
#: 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:260
msgctxt "page:index.html"
msgid "Copy REA installation prompt"
msgstr "نسخ REA موجه التثبيت"
#: website/public/index.html:282
msgctxt "page:index.html"
msgid "Copy setup command"
msgstr "نسخ أمر الإعداد"
#: website/public/index.html:334
msgctxt "page:index.html"
msgid "Follow the manual Calculator analysis"
msgstr "اتبع تحليل الآلة الحاسبة اليدوية"
#: website/public/index.html:497
msgctxt "page:index.html"
msgid "Copy Calculator percentage question"
msgstr "نسخة حاسبة النسبة المئوية السؤال"
#: website/public/index.html:604
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:665
msgctxt "page:index.html"
msgid "Copy dinosaur analysis prompt"
msgstr "نسخة ديناصور تحليل موجه"
#: website/public/index.html:821
msgctxt "page:index.html"
msgid "Choose the calculation"
msgstr "اختر الحساب"
#: website/public/index.html:901
msgctxt "page:index.html"
msgid "Copy Calculator analysis prompt"
msgstr "نسخ حاسبة تحليل موجه"
#: website/public/index.html:1063
msgctxt "page:index.html"
msgid "Copy website project prompt"
msgstr "نسخ موجه مشروع موقع الويب"
#: website/public/index.html:1091
msgctxt "page:index.html"
msgid "Copy game reconstruction prompt"
msgstr "نسخة لعبة إعادة الإعمار موجه"
#: website/public/index.html:1191
msgctxt "page:index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/showcase/aegis/index.html:104
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:195
#, 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:198
msgctxt "page:showcase/aegis/index.html"
msgid "Case study · Aegis Authenticator"
msgstr "دراسة حالة · Aegis الموثق"
#. {ph0}: <br />
#: website/public/showcase/aegis/index.html:199
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "How does an authenticator{ph0}generate a login code?"
msgstr "كيف يمكن للمصادق{ph0}إنشاء رمز تسجيل الدخول?"
#: website/public/showcase/aegis/index.html:200
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 للعثور على الحساب "
"في Android APK، ثم إعادة بنائه مع ساعة يمكنك التحكم."
#: website/public/showcase/aegis/index.html:205
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 ميغابايت"
#: website/public/showcase/aegis/index.html:208
msgctxt "page:showcase/aegis/index.html"
msgid "View Aegis on GitHub"
msgstr "عرض Aegis على GitHub"
#: website/public/showcase/aegis/index.html:214
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:216
#, 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 الطبقات generating طرق "
"توليد{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:225
#, 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:233
#, 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:246
msgctxt "page:showcase/aegis/index.html"
msgid "In this case study"
msgstr "في دراسة الحالة هذه"
#. {ph0}: <a href="#ask">
#. {ph1}: </a>
#: website/public/showcase/aegis/index.html:248
#, 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:249
#, 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:250
#, 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:251
#, 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:252
#, 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:253
#, 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:258
msgctxt "page:showcase/aegis/index.html"
msgid "Ask your agent"
msgstr "اسأل وكيلك"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/showcase/aegis/index.html:259
#, 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:265
#, 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:269
#: website/public/showcase/aegis/index.html:732
msgctxt "page:showcase/aegis/index.html"
msgid "Copy"
msgstr "نسخ"
# Reviewed for concrete meaning, software terminology and readable sentences.
#. {ph0}: <a href="#try">
#. {ph1}: </a>
#: website/public/showcase/aegis/index.html:289
#, 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 الذي نزّلته. اضبط تحليل Android في REA أولًا. "
"{ph0}تنزيل APK وإعداد التحليل ↓{ph1}"
#: website/public/showcase/aegis/index.html:297
msgctxt "page:showcase/aegis/index.html"
msgid "Try the code generator"
msgstr "جرب مولد الكود"
# Reviewed for concrete meaning, software terminology and readable sentences.
#. {ph0}: <mark class="prose-highlight">
#. {ph1}: </mark>
#: website/public/showcase/aegis/index.html:298
#, 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:305
msgctxt "page:showcase/aegis/index.html"
msgid "Move the clock across 60 seconds"
msgstr "حرك الساعة عبر 60 ثانية"
#: website/public/showcase/aegis/index.html:308
msgctxt "page:showcase/aegis/index.html"
msgid "Time"
msgstr "الوقت"
#: website/public/showcase/aegis/index.html:310
msgctxt "page:showcase/aegis/index.html"
msgid "seconds"
msgstr "ثواني"
#: website/public/showcase/aegis/index.html:311
msgctxt "page:showcase/aegis/index.html"
msgid "Our adjustable example clock"
msgstr "لدينا مثال قابل للتعديل على مدار الساعة"
#: website/public/showcase/aegis/index.html:314
msgctxt "page:showcase/aegis/index.html"
msgid "30-second block"
msgstr "كتلة 30 ثانية"
#: website/public/showcase/aegis/index.html:316
#: website/public/showcase/aegis/index.html:643
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:317
#, 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:325
msgctxt "page:showcase/aegis/index.html"
msgid "Generated code"
msgstr "كود تم إنشاؤه"
#: website/public/showcase/aegis/index.html:333
msgctxt "page:showcase/aegis/index.html"
msgid "Account key + block → six digits"
msgstr "مفتاح الحساب + كتلة - ستة أرقام"
#: website/public/showcase/aegis/index.html:339
msgctxt "page:showcase/aegis/index.html"
msgid "Example time, in seconds"
msgstr "مثال الوقت ، بالثواني"
#: website/public/showcase/aegis/index.html:354
#: website/public/showcase/aegis/index.html:654
msgctxt "page:showcase/aegis/index.html"
msgid "59 seconds"
msgstr "59 ثانية"
#: website/public/showcase/aegis/index.html:361
#: website/public/showcase/aegis/index.html:659
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:370
#, 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:377
#, 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}رك 6238 بيانات الاختبار{ph1}. يقوم العرض التوضيحي "
"بتنفيذ الحساب المسترد من APK."
#: website/public/showcase/aegis/index.html:384
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:393
msgctxt "page:showcase/aegis/index.html"
msgid "Find the code with REA"
msgstr "العثور على رمز مع REA"
#: website/public/showcase/aegis/index.html:396
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:421
#, 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:428
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:456
#, 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:464
#, 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:471
msgctxt "page:showcase/aegis/index.html"
msgid "Read the calculation"
msgstr "قراءة الحساب"
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/showcase/aegis/index.html:472
#, 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:487
#, 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:495
#, 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:503
#, 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:562
#, 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:568
#, 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:575
#, 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:582
#, 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 الرمز هو غل-3.0.{ph1}"
#: website/public/showcase/aegis/index.html:591
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:592
#, 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:614
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:621
#, 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:631
msgctxt "page:showcase/aegis/index.html"
msgid "Check the reconstruction"
msgstr "تحقق من إعادة الإعمار"
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/showcase/aegis/index.html:632
#, 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:642
msgctxt "page:showcase/aegis/index.html"
msgid "Example time"
msgstr "مثال الوقت"
#: website/public/showcase/aegis/index.html:644
msgctxt "page:showcase/aegis/index.html"
msgid "Six-digit code"
msgstr "رمز مكون من ستة أرقام"
#: website/public/showcase/aegis/index.html:649
msgctxt "page:showcase/aegis/index.html"
msgid "30 seconds"
msgstr "30 ثانية"
#: website/public/showcase/aegis/index.html:664
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:671
#, 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}رك "
"6238{ph1}. تحقق من تنفيذ المتصفح ضدهم:"
#: website/public/showcase/aegis/index.html:679
msgctxt "page:showcase/aegis/index.html"
msgid "Run reference checks"
msgstr "تشغيل الشيكات المرجعية"
#: website/public/showcase/aegis/index.html:686
msgctxt "page:showcase/aegis/index.html"
msgid "Read the demo's calculation"
msgstr "اقرأ حساب العرض التوضيحي"
#: website/public/showcase/aegis/index.html:690
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:699
msgctxt "page:showcase/aegis/index.html"
msgid ""
"Verification runs extracted Java methods and the new demo. The Android APK "
"was inspected statically."
msgstr ""
"يعمل التحقق استخراج أساليب جافا والتجريبي الجديد. Android APK تم تفتيشه بشكل"
" ثابت."
#: website/public/showcase/aegis/index.html:706
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:707
#, 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 البيئة مثل وسل."
#. {ph0}: <code>JAVA_HOME</code>
#. {ph1}: <code>PATH</code>
#: website/public/showcase/aegis/index.html:712
#, 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 ""
"تحليل Android يحتاج جدك الكامل 17 أو في وقت لاحق. حدده مع {ph0} أو {ph1}. "
"هذه الحالة تستخدم جدك 21."
#: website/public/showcase/aegis/index.html:728
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:731
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:745
#, 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:750
#, 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:760
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:762
#, 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}مطابقة مصدر الالتزام{ph3} · "
"{ph4}رخصة جي بي إل-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:778
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}RFC 6238 reference cases{ph1} · {ph2}Demo test data{ph3}"
msgstr ""
"{ph0}رك 6238 الحالات المرجعية{ph1} · {ph2}بيانات الاختبار التجريبي{ph3}"
#: website/public/showcase/aegis/index.html:785
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 اندرويد APK مع REA، استعد حساب رمز تسجيل الدخول المكون من ستة "
"أرقام وجرب إعادة الإعمار بساعة قابلة للتعديل."
#: website/public/showcase/aegis/index.html:245
msgctxt "page:showcase/aegis/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/showcase/aegis/index.html:256
msgctxt "page:showcase/aegis/index.html"
msgid "Aegis APK case study"
msgstr "Aegis APK دراسة حالة"
#: website/public/showcase/aegis/index.html:269
msgctxt "page:showcase/aegis/index.html"
msgid "Copy Aegis example prompt"
msgstr "نسخ Aegis مثال موجه"
#: website/public/showcase/aegis/index.html:482
msgctxt "page:showcase/aegis/index.html"
msgid "Follow the login-code calculation"
msgstr "اتبع حساب رمز تسجيل الدخول"
#: website/public/showcase/aegis/index.html:732
msgctxt "page:showcase/aegis/index.html"
msgid "Copy APK inspection command"
msgstr "نسخ APK قيادة التفتيش"
#: website/public/showcase/aegis/index.html:808
msgctxt "page:showcase/aegis/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/showcase/ctf/index.html:103
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:194
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / CTF"
msgstr "{ph0}الرئيسية{ph1} / {ph2}يعرض{ph3} / فرقة العمل"
#: website/public/showcase/ctf/index.html:197
msgctxt "page:showcase/ctf/index.html"
msgid "Case study · DownUnderCTF 2023"
msgstr "دراسة حالة * أسفل 2023"
#. {ph0}: <br />
#: website/public/showcase/ctf/index.html:198
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "Find the flag in{ph0}a CTF binary."
msgstr "ابحث عن العلم في{ph0}ثنائي كتف."
#. {ph0}: <code>Correct!</code>
#: website/public/showcase/ctf/index.html:199
#, 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:204
msgctxt "page:showcase/ctf/index.html"
msgid "masked squares flag checker · Easy · Linux x86-64"
msgstr "مربعات ملثمين مدقق العلم * سهل · Linux إكس 86-64"
#: website/public/showcase/ctf/index.html:207
msgctxt "page:showcase/ctf/index.html"
msgid "View the original challenge"
msgstr "عرض التحدي الأصلي"
#: website/public/showcase/ctf/index.html:215
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:217
#, 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:225
#, 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:233
#, 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:242
msgctxt "page:showcase/ctf/index.html"
msgid ""
"The challenge is by joseph, published in DownUnderCTF's official repository."
msgstr "التحدي هو جوزيف ، الذي نشر في مستودع داوندركتف الرسمي."
#: website/public/showcase/ctf/index.html:250
msgctxt "page:showcase/ctf/index.html"
msgid "In this case study"
msgstr "في دراسة الحالة هذه"
#. {ph0}: <a href="#find">
#. {ph1}: </a>
#: website/public/showcase/ctf/index.html:252
#, 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:253
#, 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:254
#, 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:255
#, 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:256
#, 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:257
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}Try it yourself{ph1}"
msgstr "{ph0}انها محاولة لنفسك{ph1}"
#: website/public/showcase/ctf/index.html:262
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:263
#, 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:270
#, 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:275
#: website/public/showcase/ctf/index.html:494
#: website/public/showcase/ctf/index.html:518
#: website/public/showcase/ctf/index.html:588
#: website/public/showcase/ctf/index.html:735
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:284
#, 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 لتحليل مس-فلاغ-تشيكر والعثور على العلم. اشرح "
"كيفية عمل الشيكات ، ثم تحقق من الإجابة باستخدام البرنامج "
"الأصلي.{ph3}{ph4}{ph5}"
#: website/public/showcase/ctf/index.html:293
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:299
msgctxt "page:showcase/ctf/index.html"
msgid "Follow the input prompt to its function"
msgstr "اتبع موجه الإدخال إلى وظيفته"
#: website/public/showcase/ctf/index.html:328
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:335
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:363
#, 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:371
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:379
msgctxt "page:showcase/ctf/index.html"
msgid "One check reveals one character"
msgstr "شيك واحد يكشف عن حرف واحد"
#: website/public/showcase/ctf/index.html:380
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 6. يختار القناع الخلايا التي تساهم في "
"المجموع. يستخدم ترميزه المضغوط أرقاما سالبة لتخطي الخلايا والأرقام الموجبة "
"لتحديدها."
#. {ph0}: <a href="../../assets/figures/ctf-mask-equation.svg" >
#. {ph1}: </a >
#: website/public/showcase/ctf/index.html:400
#, 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:407
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:429
#, 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:438
msgctxt "page:showcase/ctf/index.html"
msgid "From instructions to a readable check"
msgstr "من التعليمات إلى فحص قابل للقراءة"
#: website/public/showcase/ctf/index.html:439
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 ""
"حدد خطوة لتوصيل مساعد التلخيص ووظيفة الاتصال الخاصة به بنفس القاعدة في ج."
#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/ctf/index.html:449
#, 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:457
#, 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:465
#, 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:473
#, 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:481
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}05{ph1} Compare"
msgstr "{ph0}05{ph1} قارن"
#: website/public/showcase/ctf/index.html:493
msgctxt "page:showcase/ctf/index.html"
msgid "REA · selected original instructions"
msgstr "REA * تعليمات أصلية مختارة"
#: website/public/showcase/ctf/index.html:517
msgctxt "page:showcase/ctf/index.html"
msgid "Readable C · one-check summary"
msgstr "قراءة ج * ملخص الاختيار واحد"
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>ECX</code>
#: website/public/showcase/ctf/index.html:546
#, 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:550
#, 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:554
#, 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:558
#, 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:563
#, 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:570
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 ""
"تأتي التعليمات من مساعد التلخيص ووظيفة الاتصال الخاصة به. ال ج هو ملخص "
"توضيحي بأسماء وصفية وحلقة مسطحة من 36 خلية."
#: website/public/showcase/ctf/index.html:578
msgctxt "page:showcase/ctf/index.html"
msgid "Solve the 26 equations"
msgstr "حل المعادلات 26"
#: website/public/showcase/ctf/index.html:579
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:587
msgctxt "page:showcase/ctf/index.html"
msgid "Python · solver excerpt"
msgstr "بيثون * حلالا مقتطفات"
#. {ph0}: <code>DUCTF{…}</code>
#: website/public/showcase/ctf/index.html:615
#, 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 ""
"ض3 هو حلالا يجد قيما تفي بهذه المعادلات. يستخدم هذا المقتطف الشيكات "
"المستخرجة ويفترض أ {ph0} العلم مع الحروف والأرقام والشرطات السفلية والأقواس."
" يشمل التنزيل الكامل جميع الأقنعة والأهداف الـ 26."
#: website/public/showcase/ctf/index.html:621
msgctxt "page:showcase/ctf/index.html"
msgid "Download the complete solver"
msgstr "تحميل حلالا كاملة"
#: website/public/showcase/ctf/index.html:627
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:628
#, 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:638
msgctxt "page:showcase/ctf/index.html"
msgid "Input"
msgstr "المدخلات"
#: website/public/showcase/ctf/index.html:639
msgctxt "page:showcase/ctf/index.html"
msgid "Observed output"
msgstr "الإخراج المرصود"
#: website/public/showcase/ctf/index.html:640
msgctxt "page:showcase/ctf/index.html"
msgid "Exit code"
msgstr "رمز الخروج"
#: website/public/showcase/ctf/index.html:645
msgctxt "page:showcase/ctf/index.html"
msgid "Solver's flag"
msgstr "علم حلالا"
#: website/public/showcase/ctf/index.html:650
msgctxt "page:showcase/ctf/index.html"
msgid "One character changed"
msgstr "تم تغيير حرف واحد"
#: website/public/showcase/ctf/index.html:658
msgctxt "page:showcase/ctf/index.html"
msgid "Show the recovered flag and captured output"
msgstr "إظهار العلم المسترد والإخراج الملتقط"
#: website/public/showcase/ctf/index.html:661
msgctxt "page:showcase/ctf/index.html"
msgid "REA · original program output"
msgstr "REA * إخراج البرنامج الأصلي"
#: website/public/showcase/ctf/index.html:662
msgctxt "page:showcase/ctf/index.html"
msgid "Copy flag"
msgstr "نسخ العلم"
#: website/public/showcase/ctf/index.html:674
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:680
msgctxt "page:showcase/ctf/index.html"
msgid "Source, target identity and analysis details"
msgstr "المصدر والهوية المستهدفة وتفاصيل التحليل"
#: website/public/showcase/ctf/index.html:681
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 64. ثنائي هو جردت س 86-64 قزم ، 15 ، 248 بايت."
#: website/public/showcase/ctf/index.html:692
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:697
#, 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:717
msgctxt "page:showcase/ctf/index.html"
msgid "Try it yourself"
msgstr "انها محاولة لنفسك"
#: website/public/showcase/ctf/index.html:718
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:734
msgctxt "page:showcase/ctf/index.html"
msgid "Terminal · solve and run"
msgstr "محطة * حل وتشغيل"
#. {ph0}: <code>z3-solver</code>
#: website/public/showcase/ctf/index.html:751
#, 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 س86-64."
#: website/public/showcase/ctf/index.html:756
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 "كتف الهندسة العكسية: داونندركتف مدقق العلم — 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 لحل المربعات ملثمين مدقق العلم. ابحث عن وظائف الفحص واستخرج "
"الأقنعة وقارن العلم المسترد بالبرنامج الأصلي."
#: website/public/showcase/ctf/index.html:249
msgctxt "page:showcase/ctf/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/showcase/ctf/index.html:260
msgctxt "page:showcase/ctf/index.html"
msgid "CTF flag-checker case study"
msgstr "دراسة حالة مدقق العلم"
#: website/public/showcase/ctf/index.html:275
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF example prompt"
msgstr "نسخة كتف مثال موجه"
#: website/public/showcase/ctf/index.html:386
msgctxt "page:showcase/ctf/index.html"
msgid "CTF mask equation; scroll horizontally on smaller screens"
msgstr "معادلة قناع كتف ؛ التمرير أفقيا على شاشات أصغر"
#: website/public/showcase/ctf/index.html:392
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:444
msgctxt "page:showcase/ctf/index.html"
msgid "Follow the CTF check"
msgstr "اتبع الاختيار كتف"
#: website/public/showcase/ctf/index.html:494
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF assembly"
msgstr "نسخ الجمعية كتف"
#: website/public/showcase/ctf/index.html:518
msgctxt "page:showcase/ctf/index.html"
msgid "Copy readable CTF check"
msgstr "نسخة قابلة للقراءة كتف الاختيار"
#: website/public/showcase/ctf/index.html:588
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF solver excerpt"
msgstr "نسخة كتف حلالا مقتطفات"
#: website/public/showcase/ctf/index.html:662
msgctxt "page:showcase/ctf/index.html"
msgid "Copy recovered flag"
msgstr "نسخ العلم المسترد"
#: website/public/showcase/ctf/index.html:735
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF solver commands"
msgstr "نسخ كتف حلالا الأوامر"
#: website/public/showcase/ctf/index.html:777
msgctxt "page:showcase/ctf/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/showcase/dx-ball/index.html:103
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:194
#, 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:197
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:198
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "Rebuilding DX-Ball{ph0}from its executable."
msgstr "إعادة البناء DX-Ball{ph0}من قابل للتنفيذ."
# Reviewed for concrete meaning, software terminology and readable sentences.
#: website/public/showcase/dx-ball/index.html:199
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 ""
"الهدف هو إعادة بناء لعبة Windows الصادرة عام 1996 بكود C يمكن صيانته. يساعد "
"REA المساعد البرمجي على فحص دوال البرنامج الأصلي، دالة بعد أخرى."
#: website/public/showcase/dx-ball/index.html:203
msgctxt "page:showcase/dx-ball/index.html"
msgid "Windows i386 · C · REA"
msgstr "Windows ط386 * ج · REA"
#. {ph0}: <a href="../../assets/figures/dx-ball-sound-pan-investigation.svg" >
#. {ph1}: </a >
#: website/public/showcase/dx-ball/index.html:220
#, 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 ""
"وظيفة واحدة ، من قابل للتنفيذ لفحص ج. REA يوفر التعليمات والدوال المستدعية "
"وقراءة البيانات ؛ ينفذ مشروع إعادة الإعمار ويختبر النتيجة. {ph0}الشكل "
"المفتوح{ph1}"
#: website/public/showcase/dx-ball/index.html:231
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:233
#, 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:234
#, 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:235
#, 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:236
#, 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:244
msgctxt "page:showcase/dx-ball/index.html"
msgid "maintained C functions"
msgstr "وظائف جيم التي تمت صيانتها"
#: website/public/showcase/dx-ball/index.html:248
msgctxt "page:showcase/dx-ball/index.html"
msgid "comparisons with original code"
msgstr "مقارنات مع الكود الأصلي"
#: website/public/showcase/dx-ball/index.html:252
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:255
#, 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:267
msgctxt "page:showcase/dx-ball/index.html"
msgid "The project so far"
msgstr "المشروع حتى الآن"
#: website/public/showcase/dx-ball/index.html:268
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:278
msgctxt "page:showcase/dx-ball/index.html"
msgid "Finding the sound-pan calculation"
msgstr "العثور على حساب يسار / يمين موقف الصوت"
#: website/public/showcase/dx-ball/index.html:279
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:286
#, 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:290
#: website/public/showcase/dx-ball/index.html:481
#: website/public/showcase/dx-ball/index.html:502
#: website/public/showcase/dx-ball/index.html:573
#: website/public/showcase/dx-ball/index.html:727
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:299
#, 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:307
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 الاستفسارات والأدلة وراء الجواب."
# Reviewed for concrete meaning, software terminology and readable sentences.
#: website/public/showcase/dx-ball/index.html:312
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:318
#, 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:326
msgctxt "page:showcase/dx-ball/index.html"
msgid "The first decompiler view"
msgstr "عرض فك التحويل الأول"
#: website/public/showcase/dx-ball/index.html:339
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:345
msgctxt "page:showcase/dx-ball/index.html"
msgid "Three questions answered through REA"
msgstr "الإجابة على ثلاثة أسئلة من خلال REA"
#: website/public/showcase/dx-ball/index.html:348
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:365
#, 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} يعرض الإدخال الصحيح المفقود من طريقة عرض برنامج فك التحويل "
"البرمجي."
#: website/public/showcase/dx-ball/index.html:372
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:389
#, 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:396
msgctxt "page:showcase/dx-ball/index.html"
msgid "Read the values behind the memory addresses"
msgstr "قراءة القيم وراء عناوين الذاكرة"
#: website/public/showcase/dx-ball/index.html:417
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 ""
"البايتات التي تم إرجاعها تنشئ الثوابت الحسابية ومقياس عموم الأولي. يحتوي "
"العامل الآن على القيم اللازمة للتعبير ج."
#: website/public/showcase/dx-ball/index.html:425
msgctxt "page:showcase/dx-ball/index.html"
msgid "From REA's findings to C"
msgstr "من عند REAالنتائج إلى ج"
#: website/public/showcase/dx-ball/index.html:426
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 ""
"اتبع الخطوات الخمس أدناه. كل اختيار يسلط الضوء على التعليمات الأصلية وخطوط ج"
" أبلغوا."
#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/dx-ball/index.html:436
#, 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:444
#, 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:452
#, 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:460
#, 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:468
#, 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:480
msgctxt "page:showcase/dx-ball/index.html"
msgid "Original x86 · excerpt"
msgstr "الأصلي إكس 86 * مقتطفات"
#: website/public/showcase/dx-ball/index.html:501
msgctxt "page:showcase/dx-ball/index.html"
msgid "Reconstructed C"
msgstr "أعيد بناؤها ج"
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>[EBP+8]</code>
#. {ph3}: <code>FILD</code>
#. {ph4}: <code>x</code>
#: website/public/showcase/dx-ball/index.html:528
#, 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 يحدد "
"معنى تنسيق الشاشة للمعلمة ج {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:535
#, 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}؛ ال ج يستخدم نفس الثابت."
#. {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:541
#, 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:547
#, 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:554
#, 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}، تم تحديدها في "
"REAنتائج المستدعي. ج يلقي النتيجة إلى {ph4} المقارنات الأصلية-86 تحقق من "
"القيمة التي تم إرجاعها."
#: website/public/showcase/dx-ball/index.html:563
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:569
msgctxt "page:showcase/dx-ball/index.html"
msgid "Full assembly and supporting evidence"
msgstr "التجميع الكامل والأدلة الداعمة"
#: website/public/showcase/dx-ball/index.html:572
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA result · 0x406400–0x40643e"
msgstr "REA النتيجة * 0 * 406400-0 * 40643 هـ"
#: website/public/showcase/dx-ball/index.html:606
msgctxt "page:showcase/dx-ball/index.html"
msgid "What the caller supplies"
msgstr "ما لوازم الدالة المستدعية"
#. {ph0}: <code>0x411f40</code>
#: website/public/showcase/dx-ball/index.html:607
#, 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:621
msgctxt "page:showcase/dx-ball/index.html"
msgid "What the data reads establish"
msgstr "ما تقرأ البيانات إنشاء"
#: website/public/showcase/dx-ball/index.html:624
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:629
msgctxt "page:showcase/dx-ball/index.html"
msgid "Address"
msgstr "العنوان"
#: website/public/showcase/dx-ball/index.html:630
msgctxt "page:showcase/dx-ball/index.html"
msgid "Value"
msgstr "القيمة"
#: website/public/showcase/dx-ball/index.html:631
msgctxt "page:showcase/dx-ball/index.html"
msgid "Used for"
msgstr "تستخدم ل"
#: website/public/showcase/dx-ball/index.html:638
msgctxt "page:showcase/dx-ball/index.html"
msgid "First multiplication"
msgstr "الضرب الأول"
#: website/public/showcase/dx-ball/index.html:643
msgctxt "page:showcase/dx-ball/index.html"
msgid "Subtraction"
msgstr "الطرح"
#. {ph0}: <code>1.0</code>
#: website/public/showcase/dx-ball/index.html:647
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0} initially"
msgstr "{ph0} في البداية"
#: website/public/showcase/dx-ball/index.html:648
msgctxt "page:showcase/dx-ball/index.html"
msgid "Stored pan scale"
msgstr "مقياس عموم المخزنة"
#: website/public/showcase/dx-ball/index.html:653
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:658
#, 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:672
msgctxt "page:showcase/dx-ball/index.html"
msgid "Checking the recovered function"
msgstr "التحقق من الوظيفة المستردة"
#: website/public/showcase/dx-ball/index.html:673
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:679
msgctxt "page:showcase/dx-ball/index.html"
msgid "3,205 behavior cases"
msgstr "3,205 حالات السلوك"
#: website/public/showcase/dx-ball/index.html:680
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 ""
"الاختبارات تنفيذ وظيفة س 86 الأصلي ومقارنة قيمة عودتها مع الحفاظ على ج. أنها"
" تغطي كل موقف صحيح من 0 إلى 640 في خمسة جداول عموم: 0 ، 0.5 ، 1 ، 20 و -1."
#: website/public/showcase/dx-ball/index.html:688
msgctxt "page:showcase/dx-ball/index.html"
msgid "63 matching bytes"
msgstr "63 بايت مطابقة"
#: website/public/showcase/dx-ball/index.html:689
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 مع سلسلة أدوات فك 4.0 المثبتة. يتطابق إعادة تشغيل المترجم "
"مع الوظيفة الكاملة بعد تطبيق عمليات الترحيل التي تمت مراجعتها والتحقق من "
"الثوابت المشار إليها."
#: website/public/showcase/dx-ball/index.html:697
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:703
#, 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:712
msgctxt "page:showcase/dx-ball/index.html"
msgid "Continue the investigation"
msgstr "مواصلة التحقيق"
#: website/public/showcase/dx-ball/index.html:713
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:719
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:726
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:740
#, 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:745
#, 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:752
#, 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 للحفاظ على ج ، "
"الأصلي-س 86 الاختبارات ومطابقة بايت وظيفة المترجمة."
#: website/public/showcase/dx-ball/index.html:206
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:212
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 ""
"دي إكس بول.إيكس وظيفة 0 * 00406400 يتم تفتيشها مع REA. يوفر الدالة المستدعية"
" الذي تم ضربه من الطوب 20 مرة بالإضافة إلى 30 مرة تحميل التعليمات س ، اضرب "
"في 1.5625 ، اطرح 500.0 ، طبق مقياس عموم وأعد عددا صحيحا. يتم فحص ج الحفاظ "
"بشكل مستقل ضد الأصلي 86 في 3 ، 205 الحالات و فك 4.0 مترجم إعادة مطابقة 63 "
"بايت."
#: website/public/showcase/dx-ball/index.html:230
msgctxt "page:showcase/dx-ball/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/showcase/dx-ball/index.html:239
msgctxt "page:showcase/dx-ball/index.html"
msgid "DX-Ball reconstruction case study"
msgstr "DX-Ball دراسة حالة إعادة الإعمار"
#: website/public/showcase/dx-ball/index.html:290
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy example prompt"
msgstr "نسخة مثال موجه"
#: website/public/showcase/dx-ball/index.html:431
msgctxt "page:showcase/dx-ball/index.html"
msgid "Follow the sound-pan calculation"
msgstr "اتبع حساب يسار / يمين موقف الصوت"
#: website/public/showcase/dx-ball/index.html:481
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy original assembly excerpt"
msgstr "نسخ مقتطفات الجمعية الأصلية"
#: website/public/showcase/dx-ball/index.html:502
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy sound-pan function"
msgstr "نسخ الصوت-وظيفة عموم"
#: website/public/showcase/dx-ball/index.html:573
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy complete sound-pan assembly"
msgstr "نسخ الصوت الكامل-تجميع عموم"
#: website/public/showcase/dx-ball/index.html:727
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy DX-Ball analysis command"
msgstr "نسخ DX-Ball أمر التحليل"
#: website/public/showcase/dx-ball/index.html:785
msgctxt "page:showcase/dx-ball/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/showcase/index.html:103
msgctxt "page:showcase/index.html"
msgid "Skip to content"
msgstr "تخطي إلى المحتوى"
#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/showcase/index.html:194
#, python-brace-format
msgctxt "page:showcase/index.html"
msgid "{ph0}Home{ph1} / Showcases"
msgstr "{ph0}الرئيسية{ph1} / المعارض"
#: website/public/showcase/index.html:195
msgctxt "page:showcase/index.html"
msgid "REA case studies."
msgstr "REA دراسات الحالة."
#: website/public/showcase/index.html:196
msgctxt "page:showcase/index.html"
msgid ""
"Android, games, Electron and a CTF challenge, with code, figures and checked"
" results."
msgstr ""
"Android, ألعاب, Electron وتحدي فرقة العمل المشتركة ، مع رمز والأرقام "
"والنتائج فحص."
#: website/public/showcase/index.html:203
msgctxt "page:showcase/index.html"
msgid "Android · APK analysis"
msgstr "اندرويد · APK التحليل"
#: website/public/showcase/index.html:205
msgctxt "page:showcase/index.html"
msgid "How an authenticator generates a login code"
msgstr "كيف يقوم المصدق بإنشاء رمز تسجيل الدخول"
#: website/public/showcase/index.html:206
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:217
msgctxt "page:showcase/index.html"
msgid "Read the Android case study"
msgstr "قراءة دراسة حالة Android"
#: website/public/showcase/index.html:221
msgctxt "page:showcase/index.html"
msgid "CTF · Native analysis"
msgstr "* تحليل برامج كود الآلة"
#: website/public/showcase/index.html:223
msgctxt "page:showcase/index.html"
msgid "Solve a CTF flag checker"
msgstr "حل مدقق العلم كتف"
#: website/public/showcase/index.html:224
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 ""
"تفقد تحدي دوونديركتف سهلة مع REA. ابحث عن وظائف الفحص الخاصة به ، وقم بتحويل"
" الأقنعة والمبالغ إلى معادلات ، ثم تحقق من العلم الذي تم حله باستخدام "
"البرنامج الأصلي."
#: website/public/showcase/index.html:235
msgctxt "page:showcase/index.html"
msgid "Read the CTF case study"
msgstr "اقرأ دراسة حالة لجنة مكافحة الإرهاب"
#: website/public/showcase/index.html:239
msgctxt "page:showcase/index.html"
msgid "Native · Reconstruction"
msgstr "مواطن * إعادة الإعمار"
#: website/public/showcase/index.html:241
msgctxt "page:showcase/index.html"
msgid "DX-Ball's sound-pan calculation"
msgstr "DX-Ballحساب عموم الصوت"
#: website/public/showcase/index.html:242
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 ""
"استعادة حساب عموم الصوت من عام 1996 Windows لعبة. REAتعليمات الصورة ، مراجع "
"الدالة المستدعية والثوابت الرقمية تؤدي إلى دالة C صغيرة ، فحص ضد السلوك "
"الأصلي وجميع 63 بايت المترجمة."
#: website/public/showcase/index.html:254
msgctxt "page:showcase/index.html"
msgid "Read the DX-Ball case study"
msgstr "قراءة DX-Ball دراسة حالة"
#: website/public/showcase/index.html:258
msgctxt "page:showcase/index.html"
msgid "Electron · Feature tracing"
msgstr "Electron * ميزة تتبع"
#: website/public/showcase/index.html:260
msgctxt "page:showcase/index.html"
msgid "How Notion copies text and HTML"
msgstr "كيف Notion نسخ النص و هتمل"
#: website/public/showcase/index.html:261
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 ""
"تتبع واجهة برمجة تطبيقات تواجه الصفحة من خلال Notionتعبئتها JavaScript. اتبع"
" أغلفة إيبك إلى حافظة النظام ، ثم انظر كيف تحافظ علامة هتمل الصغيرة على "
"بيانات كتلة غنية متصلة بنسخة."
#: website/public/showcase/index.html:272
msgctxt "page:showcase/index.html"
msgid "Read the Notion case study"
msgstr "قراءة Notion دراسة حالة"
#: website/public/showcase/index.html:276
msgctxt "page:showcase/index.html"
msgid "PC-98 DOS · Reconstruction"
msgstr "PC-98 دوس * إعادة الإعمار"
#: website/public/showcase/index.html:278
msgctxt "page:showcase/index.html"
msgid "How TH04 aims a ring of bullets"
msgstr "كيف TH04 يهدف حلقة من الرصاص"
#: website/public/showcase/index.html:279
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. تطابق عمليات الضرب والقسمة "
"والتنسيق مع ج readable المقروء ، ثم انظر كيف ينتجون حلقة تستهدف اللاعب."
#: website/public/showcase/index.html:290
msgctxt "page:showcase/index.html"
msgid "Read the TH04 case study"
msgstr "قراءة TH04 دراسة حالة"
#: website/public/showcase/index.html:295
msgctxt "page:showcase/index.html"
msgid "Step-by-step guides"
msgstr "أدلة خطوة بخطوة"
#: website/public/showcase/index.html:296
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:300
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 التحقيقات من خلال الكود والأرقام والعروض التوضيحية: مصادق أندرويد, "
"DX-Ball, Notion, TH04 ومدقق العلم دوونديركتف."
#: website/public/showcase/index.html:317
msgctxt "page:showcase/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/showcase/notion/index.html:103
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:194
#, 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:197
msgctxt "page:showcase/notion/index.html"
msgid "Case study · Electron"
msgstr "دراسة حالة · Electron"
#. {ph0}: <br />
#: website/public/showcase/notion/index.html:198
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "How Notion copies{ph0}text and HTML."
msgstr "كيف Notion نسخ{ph0}النص و هتمل."
#: website/public/showcase/notion/index.html:199
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 ""
"تتبع استدعاء دالة الحافظة من Notionواجهة برمجة تطبيقات الصفحة ، من خلال "
"التحميل المسبق والعملية الرئيسية ، إلى Electronكاتب الحافظة."
#: website/public/showcase/notion/index.html:203
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:207
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:209
#, 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 * واجهة برمجة تطبيقات مواجهة للصفحة{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:216
#, 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:223
#, 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:230
#, 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 يكتب النص المرفق و"
" هتمل.{ph6}"
#. {ph0}: <code class="notion-channel">notion:clipboard:write</code>
#: website/public/showcase/notion/index.html:238
#, 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:242
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:251
msgctxt "page:showcase/notion/index.html"
msgid "In this case study"
msgstr "في دراسة الحالة هذه"
#. {ph0}: <a href="#clipboard">
#. {ph1}: </a>
#: website/public/showcase/notion/index.html:253
#, 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:254
#, 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:255
#, 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:260
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:261
#, 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:268
#, 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:272
#: website/public/showcase/notion/index.html:345
#: website/public/showcase/notion/index.html:374
#: website/public/showcase/notion/index.html:405
#: website/public/showcase/notion/index.html:433
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:281
#, 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 لتتبع كيف Notion نسخ النص و هتمل إلى حافظة "
"النظام. أظهر الرمز في كل خطوة.{ph3}{ph4}{ph5}"
#: website/public/showcase/notion/index.html:289
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:294
msgctxt "page:showcase/notion/index.html"
msgid "REA finds where to start reading"
msgstr "REA يجد من أين تبدأ القراءة"
#: website/public/showcase/notion/index.html:295
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 يقع أبي يتعرض إلى الصفحة "
"والاستدعاء دالة التي ترسل طلب إيبك. تأتي كلتا النتيجتين مع نطاقات المصدر في "
"الحزمة المصغرة:"
#: website/public/showcase/notion/index.html:301
msgctxt "page:showcase/notion/index.html"
msgid "REA findings → two places to open"
msgstr "REA النتائج places مكانين لفتح"
#. {ph0}: <code>analyze_javascript_application</code>
#: website/public/showcase/notion/index.html:316
#, 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علامة التبويب التحميل المسبق"
" ، المسجلة مع REA 4.1.0. تستخدم المواضع خط الحزمة الأصلي والعمود الصفري."
#. {ph0}: <code>invokerInMain</code>
#. {ph1}: <code class="notion-channel">notion:clipboard:write</code>
#: website/public/showcase/notion/index.html:323
#, 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 ""
"يفتح الوكيل هذه المواقع ، ويجد عضو الحافظة في واجهة برمجة التطبيقات المجمعة "
"، ويقرأ {ph0}. لوازم موقع الاتصال {ph1}. يعطي هذا الاسم الوكيل شيئا دقيقا "
"للبحث عنه في الحزمة الرئيسية. تظهر المقتطفات الأربعة أدناه المسار الذي يربط."
#: website/public/showcase/notion/index.html:332
msgctxt "page:showcase/notion/index.html"
msgid "Four short pieces of code"
msgstr "أربع قطع قصيرة من التعليمات البرمجية"
#: website/public/showcase/notion/index.html:333
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:339
msgctxt "page:showcase/notion/index.html"
msgid "Start at the API exposed to the page"
msgstr "ابدأ من واجهة برمجة التطبيقات المكشوفة للصفحة"
#. {ph0}: <code>invokerInMain</code>
#: website/public/showcase/notion/index.html:361
#, 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:368
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:391
#, 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 ""
"تقوم الدالة التي تم إرجاعها بإعادة توجيه الوسيطات من خلال Electronطلب "
"واستجابة التصنيف الدولي للبراءات. يمكننا الآن البحث عن {ph0} على الجانب "
"الرئيسي-العملية."
#: website/public/showcase/notion/index.html:399
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:420
#, 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:427
msgctxt "page:showcase/notion/index.html"
msgid "Find the write and its sender check"
msgstr "ابحث عن الكتابة والتحقق من المرسل"
#: website/public/showcase/notion/index.html:450
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 ""
"هذه هي الوجهة. بعد التحقق من المرسل ، يقوم المعالج بتمرير البيانات المقدمة "
"إلى Electronواجهة برمجة تطبيقات الحافظة. تقوم القناة والأغلفة التي تم حلها "
"بتوصيل الطريقة المكشوفة بهذه الاستدعاء دالة."
#: website/public/showcase/notion/index.html:461
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:462
#, 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محرر الويب يرسل النص و هتمل من خلال {ph0}. فإنه يحتفظ البيانات كتلة "
"محليا ويضع معرف في هتمل نسخها لربطها."
#: website/public/showcase/notion/index.html:468
msgctxt "page:showcase/notion/index.html"
msgid "HTML links to saved block data"
msgstr "وصلات أتش تي أم أل إلى بيانات الكتلة المحفوظة"
#: website/public/showcase/notion/index.html:492
msgctxt "page:showcase/notion/index.html"
msgid "Read the HTML ID"
msgstr "قراءة معرف هتمل"
#: website/public/showcase/notion/index.html:493
msgctxt "page:showcase/notion/index.html"
msgid "Find the same local ID"
msgstr "ابحث عن نفس المعرف المحلي"
#: website/public/showcase/notion/index.html:494
msgctxt "page:showcase/notion/index.html"
msgid "Restore Notion block data"
msgstr "استعادة Notion كتلة البيانات"
#: website/public/showcase/notion/index.html:496
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 ""
"نص توضيحي ومعرف. يستعيد اختبار الوحدة النمطية المسجلة بيانات الكتلة عند "
"تطابق المعرفات ؛ يقوم إدخال قديم بإرجاع النص والأتش تي أم أل فقط."
#: website/public/showcase/notion/index.html:502
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 ""
"على لصق, Notion يبحث عن معرف هتمل ويتحقق من ذلك ضد النسخة المحفوظة. معرفات "
"مطابقة استعادة البيانات كتلة."
#: website/public/showcase/notion/index.html:506
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:512
msgctxt "page:showcase/notion/index.html"
msgid "More examples and sources"
msgstr "المزيد من الأمثلة والمصادر"
#: website/public/showcase/notion/index.html:514
msgctxt "page:showcase/notion/index.html"
msgid "Another example: Markdown tables"
msgstr "مثال آخر: جداول تخفيض السعر"
#: website/public/showcase/notion/index.html:515
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 يوزع تخفيض السعر في بيانات الكتلة. يوضح هذا المثال كيف يصبح الجدول "
"رأس وصفوف البيانات."
#: website/public/showcase/notion/index.html:520
msgctxt "page:showcase/notion/index.html"
msgid "A table through Notion's Markdown parser"
msgstr "جدول من خلال Notionمحلل تخفيض السعر"
#: website/public/showcase/notion/index.html:541
msgctxt "page:showcase/notion/index.html"
msgid ""
"Recorded output from an extracted Markdown parser. The table becomes rows "
"and cells."
msgstr ""
"الإخراج المسجل من محلل تخفيض السعر المستخرج. يصبح الجدول الصفوف والخلايا."
#: website/public/showcase/notion/index.html:548
msgctxt "page:showcase/notion/index.html"
msgid "Another path: the offline SQLite connection"
msgstr "مسار آخر: اتصال سكليتي غير متصل"
#. {ph0}: <code>getSqliteMeta</code>
#: website/public/showcase/notion/index.html:549
#, 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} من خلال التصنيف الدولي للبراءات. العملية الرئيسية "
"بإنشاء قناة رسالة ويعطي منفذ واحد إلى العارض والآخر إلى عملية فائدة سكليتي. "
"دفعات البيان اللاحقة والنتائج تنتقل عبر هذا المنفذ."
#: website/public/showcase/notion/index.html:555
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 ""
"بعد هذا التحول يشرح أين يعمل عمل قاعدة البيانات ، ولماذا تتبع فقط طلب إيبك "
"الأولي يفتقد المحادثة في وقت لاحق."
#: website/public/showcase/notion/index.html:562
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:563
#, 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:571
#, 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 ""
"تأتي أمثلة الحافظة الافتراضية والتخفيض من أصول الويب المخزنة مؤقتا في 13 "
"يوليو 2026 ، بما في ذلك الوحدات النمطية {ph0}, {ph1}, {ph2} و {ph3}. هذه "
"الأصول لها نسختها الخاصة. نفذت المجسات المحفوظة وحدات مستخرجة وأحزمة صغيرة ؛"
" تصف مخرجاتها تلك المجسات بدلا من جلسة واجهة مستخدم سطح المكتب الملتقطة."
#: website/public/showcase/notion/index.html:579
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 حزمة. فإنه يقع أبي واستدعاء "
"العملية. يتم توصيل عضو الحافظة وجهاز الاستقبال المطابق من خلال قراءة تطبيقات"
" الغلاف الخاصة بهم في الحزمة."
#. {ph0}: <code>422457</code>
#: website/public/showcase/notion/index.html:586
#, 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 ""
"يستخدم مثال تخفيض السعر وحدة المحلل اللغوي {ph0}. تظهر اختبارات الوحدة "
"النمطية المحفوظة أن عوامل تصفية الصفحة والدردشة تحافظ على هذا الجدول. يحتوي "
"محللو اللصق / الاستيراد والتخفيض المنظم والذكاء الاصطناعي / الدردشة على نقاط"
" دخول منفصلة وتنسيقات وسيطة."
#. {ph0}: <a href="../../guides/javascript/" >
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/showcase/notion/index.html:594
#, 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:601
#, 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 ""
"اتبع Notionواجهة برمجة تطبيقات الحافظة من خلال Electronالتحميل المسبق ، "
"مغلفة إيبك والعملية الرئيسية،مع مقتطفات رمز قصيرة ونظرة على شكل الحافظة "
"الغنية."
#: website/public/showcase/notion/index.html:250
msgctxt "page:showcase/notion/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/showcase/notion/index.html:258
msgctxt "page:showcase/notion/index.html"
msgid "Notion Electron case study"
msgstr "Notion Electron دراسة حالة"
#: website/public/showcase/notion/index.html:272
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion analysis prompt"
msgstr "نسخ Notion موجه التحليل"
#: website/public/showcase/notion/index.html:345
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion preload excerpt"
msgstr "نسخ Notion التحميل المسبق مقتطفات"
#: website/public/showcase/notion/index.html:374
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion invoke wrapper excerpt"
msgstr "نسخ Notion استدعاء مقتطفات المجمع"
#: website/public/showcase/notion/index.html:405
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion handler wrapper excerpt"
msgstr "نسخ Notion معالج المجمع مقتطفات"
#: website/public/showcase/notion/index.html:433
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion clipboard receiver excerpt"
msgstr "نسخ Notion الحافظة استقبال مقتطفات"
#: website/public/showcase/notion/index.html:488
msgctxt "page:showcase/notion/index.html"
msgid "Restoring rich clipboard data on paste"
msgstr "استعادة البيانات الحافظة الغنية على لصق"
#: website/public/showcase/notion/index.html:631
msgctxt "page:showcase/notion/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/showcase/th04/index.html:103
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:194
#, 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:197
msgctxt "page:showcase/th04/index.html"
msgid "Case study · Touhou 4: Lotus Land Story"
msgstr "دراسة حالة * توهو 4: قصة لوتس لاند"
#. {ph0}: <br />
#: website/public/showcase/th04/index.html:198
#, 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:199
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 لتفقد وظيفة دوس الأصلية ، "
"ثم اتبع تعليماتها في قراءة ج++."
#: website/public/showcase/th04/index.html:204
msgctxt "page:showcase/th04/index.html"
msgid "PC-98 · 16-bit DOS · C++ and assembly"
msgstr "PC-98 * 16 بت دوس * ج assembly والتجمع"
#: website/public/showcase/th04/index.html:205
msgctxt "page:showcase/th04/index.html"
msgid "View the TH04 reconstruction"
msgstr "عرض TH04 إعادة الإعمار"
#: website/public/showcase/th04/index.html:211
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:213
#, 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}الرئيسية.إكس{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:220
#, 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}تحقق من رمز دوس "
"تحميل وقراءة حساب زاوية من الملف القابل للتنفيذ.{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:228
#, 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:235
#, 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:244
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:252
msgctxt "page:showcase/th04/index.html"
msgid "In this case study"
msgstr "في دراسة الحالة هذه"
#. {ph0}: <a href="#ring">
#. {ph1}: </a>
#: website/public/showcase/th04/index.html:254
#, 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:255
#, 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:256
#, 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:257
#, 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:258
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}The full project{ph1}"
msgstr "{ph0}المشروع الكامل{ph1}"
#: website/public/showcase/th04/index.html:263
msgctxt "page:showcase/th04/index.html"
msgid "How a ring aims at the player"
msgstr "كيف تهدف الحلقة إلى اللاعب"
#: website/public/showcase/th04/index.html:264
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:271
#, 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:276
#: website/public/showcase/th04/index.html:332
#: website/public/showcase/th04/index.html:509
#: website/public/showcase/th04/index.html:543
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:285
#, 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:294
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:298
#, 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:318
#, 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:326
msgctxt "page:showcase/th04/index.html"
msgid "The firing template in the recovered source"
msgstr "قالب إطلاق النار في المصدر المسترد"
#: website/public/showcase/th04/index.html:331
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:346
#, 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:357
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:358
#, 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:366
msgctxt "page:showcase/th04/index.html"
msgid "Check the DOS image before reading its code"
msgstr "تحقق من صورة دوس قبل قراءة رمزها"
#: website/public/showcase/th04/index.html:387
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:393
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:411
#, 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:420
msgctxt "page:showcase/th04/index.html"
msgid "Find where the pattern turns toward the player"
msgstr "ابحث عن المكان الذي يتحول فيه النمط نحو المشغل"
#: website/public/showcase/th04/index.html:441
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:452
msgctxt "page:showcase/th04/index.html"
msgid "From assembly to readable C++"
msgstr "من التجميع إلى القراءة ج C"
#: website/public/showcase/th04/index.html:453
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:464
#, 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:472
#, 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:480
#, 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:488
#, 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:496
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}05{ph1} Store"
msgstr "{ph0}05{ph1} متجر"
#: website/public/showcase/th04/index.html:508
msgctxt "page:showcase/th04/index.html"
msgid "REA · original 16-bit instructions"
msgstr "REA * تعليمات 16 بت الأصلية"
#: website/public/showcase/th04/index.html:542
msgctxt "page:showcase/th04/index.html"
msgid "Readable C++ · aimed-ring summary"
msgstr "قراءة ج · * تهدف حلقة ملخص"
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>SI</code>
#: website/public/showcase/th04/index.html:571
#, 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:576
#, 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:583
#, 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:589
#, 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:595
#, 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:604
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 ""
"يختار التجميع فرع الحلقة المستهدفة وحساب الهدف والمخزن النهائي. ج above "
"أعلاه هو ملخص مقروء. تنطبق عمليات التحقق من المترجم أدناه على المصدر المحفوظ"
" في المشروع المرتبط."
#: website/public/showcase/th04/index.html:610
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:639
#, 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:659
msgctxt "page:showcase/th04/index.html"
msgid "Checking the maintained source"
msgstr "التحقق من المصدر الذي تم صيانته"
#: website/public/showcase/th04/index.html:660
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 تقوم الشيكات المسجلة للمشروع بتجميع رمز إنشاء الرصاص ، بما في ذلك "
"هذا المساعد ، مع سلسلة أدوات توربو سي J 4.0 ي."
#: website/public/showcase/th04/index.html:667
msgctxt "page:showcase/th04/index.html"
msgid "2,139 matching bytes"
msgstr "2,139 بايت مطابقة"
#: website/public/showcase/th04/index.html:668
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:674
msgctxt "page:showcase/th04/index.html"
msgid "Two clean builds"
msgstr "اثنين نظيفة يبني"
#: website/public/showcase/th04/index.html:675
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:681
#, 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:689
msgctxt "page:showcase/th04/index.html"
msgid "Target identity and analysis scope"
msgstr "تحديد الهدف ونطاق التحليل"
#: website/public/showcase/th04/index.html:694
msgctxt "page:showcase/th04/index.html"
msgid "Original target"
msgstr "الهدف الأصلي"
#. {ph0}: <code>MAIN.EXE</code>
#: website/public/showcase/th04/index.html:695
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}, 156,258 bytes, DOS MZ"
msgstr "{ph0}, 156 ، 258 بايت ، دوس ميجا هرتز"
#: website/public/showcase/th04/index.html:698
msgctxt "page:showcase/th04/index.html"
msgid "Helper entry"
msgstr "دخول المساعد"
#. {ph0}: <code>0x2cfc8</code>
#: website/public/showcase/th04/index.html:699
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0} in REA's loaded image"
msgstr "{ph0} في REAالصورة المحملة"
#: website/public/showcase/th04/index.html:702
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:703
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}, returned by {ph1}"
msgstr "{ph0}، عاد من قبل {ph1}"
#: website/public/showcase/th04/index.html:709
msgctxt "page:showcase/th04/index.html"
msgid "Recorded code inspection"
msgstr "فحص الكود المسجل"
#: website/public/showcase/th04/index.html:710
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:715
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 ""
"تغطي شيكات المترجم قسم الرمز النقطي الكامل ، بما في ذلك هذا المساعد. كما "
"أنها تقارن مساهمة الخريطة وإعادة التوطين المتداخلة."
#. {ph0}: <code>0x1000</code>
#: website/public/showcase/th04/index.html:720
#, 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 تم التحقق من صورة تحميل دوس الثابتة في مقطع التحميل {ph0}. تصف عناوينها "
"صورة التحليل هذه. تقارير نتيجة وظيفة 503 بايت الجسم في نطاقين عبر فترة 517 "
"بايت ؛ التعليمات المحددة أعلاه تكمن في تلك النطاقات المبلغ عنها."
#. {ph0}: <code>0d72e980</code>
#: website/public/showcase/th04/index.html:727
#, 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:735
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:744
msgctxt "page:showcase/th04/index.html"
msgid "The full TH04 reconstruction"
msgstr "كامل TH04 إعادة الإعمار"
#: website/public/showcase/th04/index.html:745
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 ""
"يقوم المشروع ببناء منتجات دوس الأربعة للعبة من صيانة ج assembly والتجميع. ما"
" وراء جيل رصاصة ، ويغطي المصدر مراحل ، ورؤساء ، وتقديم ، والمدخلات ، "
"والقوائم ، والنهايات والتعامل مع النتيجة."
#. {ph0}: <a class="text-link" href="https://github.com/N0zoM1z0/th04" >
#. {ph1}: </a >
#: website/public/showcase/th04/index.html:751
#, 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:757
#, 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:766
#, 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}دوس بناء وتشغيل دليل{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:775
#, 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}التحقق من دوس ومنفذ إكس 64 الأصلي "
"المنفصل.{ph3}"
#: website/public/showcase/th04/index.html:6
msgctxt "page:showcase/th04/index.html"
msgid "TH04 Reverse Engineering: DOS Bullet Patterns — REA"
msgstr "TH04 الهندسة العكسية: أنماط رصاصة دوس — 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 ""
"فحص TH04رمز دوس الأصلي 16 بت مع REA. اتبع التجمع وتعافى ج to لنرى كيف "
"متباعدة حلقة من الرصاص وتهدف إلى لاعب."
#: website/public/showcase/th04/index.html:251
msgctxt "page:showcase/th04/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/showcase/th04/index.html:261
msgctxt "page:showcase/th04/index.html"
msgid "TH04 bullet-pattern case study"
msgstr "TH04 دراسة حالة نمط رصاصة"
#: website/public/showcase/th04/index.html:276
msgctxt "page:showcase/th04/index.html"
msgid "Copy TH04 example prompt"
msgstr "نسخ TH04 مثال موجه"
#: website/public/showcase/th04/index.html:304
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:310
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:332
msgctxt "page:showcase/th04/index.html"
msgid "Copy TH04 firing template"
msgstr "نسخ TH04 قالب إطلاق النار"
#: website/public/showcase/th04/index.html:459
msgctxt "page:showcase/th04/index.html"
msgid "Follow the TH04 aimed-ring calculation"
msgstr "اتبع TH04 تهدف-حساب الدائري"
#: website/public/showcase/th04/index.html:509
msgctxt "page:showcase/th04/index.html"
msgid "Copy TH04 assembly excerpt"
msgstr "نسخ TH04 مقتطفات الجمعية"
#: website/public/showcase/th04/index.html:543
msgctxt "page:showcase/th04/index.html"
msgid "Copy readable aimed-ring calculation"
msgstr "نسخ حساب الحلقة المستهدفة المقروءة"
#: website/public/showcase/th04/index.html:800
msgctxt "page:showcase/th04/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#: website/public/assets/main.js:21
msgctxt "runtime"
msgid "Copied"
msgstr "نسخ"
#: website/public/assets/main.js:32
msgctxt "runtime"
msgid "Selected"
msgstr "مختارة"
#: website/public/assets/main.js:23
msgctxt "runtime"
msgid "Code copied to clipboard."
msgstr "رمز نسخ إلى الحافظة."
#: website/public/assets/main.js:34
msgctxt "runtime"
msgid "Code selected. Use your keyboard to copy it."
msgstr "رمز المحدد. استخدم لوحة المفاتيح لنسخها."
#: website/public/assets/main.js:148
#, python-brace-format
msgctxt "runtime"
msgid "REA on GitHub ({count})"
msgstr "REA على GitHub ({count})"
#: website/public/assets/dino-demo.js:77
#, python-brace-format
msgctxt "runtime"
msgid "Distance {distance}"
msgstr "المسافة {distance}"
#: website/public/assets/dino-demo.js:87
msgctxt "runtime"
msgid "Hit a cactus. Try another speed."
msgstr "ضرب الصبار. جرب سرعة أخرى."
#: website/public/assets/dino-demo.js:87
msgctxt "runtime"
msgid "Space or Jump ↑"
msgstr "الفضاء أو القفز ↑"
#: website/public/assets/dino-demo.js:97
msgctxt "runtime"
msgid "Play again"
msgstr "اللعب مرة أخرى"
#: website/public/assets/dino-demo.js:97
#: website/public/assets/dino-demo.js:111
msgctxt "runtime"
msgid "Play"
msgstr "العب"
#: website/public/assets/dino-demo.js:171
msgctxt "runtime"
msgid "Pause"
msgstr "وقفة"
#: website/public/assets/dino-demo.js:112
msgctxt "runtime"
msgid "Press Play, then jump over the cactus."
msgstr "اضغط على تشغيل ، ثم اقفز فوق الصبار."
#: website/public/assets/dino-demo.js:147
msgctxt "runtime"
msgid "Hit a cactus. Press Play again, or change the speed and restart."
msgstr ""
"ضرب الصبار. اضغط على تشغيل مرة أخرى ، أو قم بتغيير السرعة وإعادة التشغيل."
#: website/public/assets/dino-demo.js:172
msgctxt "runtime"
msgid "Running. Space or Jump clears a cactus."
msgstr "تشغيل. الفضاء أو القفز يزيل الصبار."
#: website/public/assets/dino-demo.js:183
#: website/public/assets/dino-demo.js:219
#: website/public/assets/dino-demo.js:224
msgctxt "runtime"
msgid "Paused. Press Play to continue."
msgstr "توقف. اضغط على تشغيل للمتابعة."
#: website/public/assets/dino-demo.js:203
#, python-brace-format
msgctxt "runtime"
msgid "Fixed speed: {speed}. Space or Jump clears a cactus."
msgstr "سرعة ثابتة: {speed}. الفضاء أو القفز يزيل الصبار."
#: website/public/assets/dino-demo.js:206
#, python-brace-format
msgctxt "runtime"
msgid "Fixed speed: {speed}. Press Play to try it."
msgstr "سرعة ثابتة: {speed}. اضغط على تشغيل لتجربته."
#: website/public/assets/dino-demo.js:215
msgctxt "runtime"
msgid "Recovered rule: start at 6, then increase toward 13."
msgstr "القاعدة المستردة: ابدأ من 6 ، ثم زد نحو 13."
#: website/public/assets/dino-demo.js:216
#, python-brace-format
msgctxt "runtime"
msgid "Fixed speed: {speed}."
msgstr "سرعة ثابتة: {speed}."
#: website/public/assets/dino-demo.js:249
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:252
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:24
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:25
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:27
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:28
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:32
msgctxt "figure:ctf-mask-equation.svg"
msgid "Only one cell contributes to this sum"
msgstr "تساهم خلية واحدة فقط في هذا المبلغ"
#: website/public/assets/figures/ctf-mask-equation.svg:35
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:37
msgctxt "figure:ctf-mask-equation.svg"
msgid "Selected: one cell"
msgstr "المحدد: خلية واحدة"
#: website/public/assets/figures/ctf-mask-equation.svg:38
msgctxt "figure:ctf-mask-equation.svg"
msgid "26 masks give 26 equations."
msgstr "26 أقنعة تعطي 26 المعادلات."
#: website/public/assets/figures/ctf-mask-equation.svg:39
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:20
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 ، ويتم تحجيمه وتحويله "
"إلى عدد صحيح. يتم التحقق من الحفاظ على ج في 3205 الحالات الأصلية-س 86 وإعادة"
" مترجم 63 بايت منفصلة."
# 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 "Stack"
msgstr "المكدس"
# Reviewed for technical meaning and concise diagram labels.
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:40
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:44
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:45
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:46
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:47
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:48
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "Brick-hit caller"
msgstr "استدعاء اصطدام"
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:49
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:50
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:51
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:54
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:52
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "3,205 cases"
msgstr "3,205 اختبارات"
# Reviewed for technical meaning and concise diagram labels.
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:53
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:55
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "63 matching bytes"
msgstr "تطابق 63 بايت"
#: website/public/assets/figures/rea-investigation-flow.svg:2
#: website/public/assets/figures/rea-investigation-flow.svg:22
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:31
msgctxt "figure:rea-investigation-flow.svg"
msgid "1. Ask"
msgstr "1. اسأل"
# Reviewed for technical meaning and concise diagram labels.
#: website/public/assets/figures/rea-investigation-flow.svg:32
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:33
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:34
msgctxt "figure:rea-investigation-flow.svg"
msgid "2. Inspect & trace"
msgstr "2. افحص وتتبّع"
#: website/public/assets/figures/rea-investigation-flow.svg:36
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:37
msgctxt "figure:rea-investigation-flow.svg"
msgid "3. Read the evidence"
msgstr "3. اقرأ الأدلة"
# Reviewed for technical meaning and concise diagram labels.
#: website/public/assets/figures/rea-investigation-flow.svg:38
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:39
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:40
msgctxt "figure:rea-investigation-flow.svg"
msgid "4. Use what you learn"
msgstr "4. استخدم النتائج"
# Reviewed for technical meaning and concise diagram labels.
#: website/public/assets/figures/rea-investigation-flow.svg:41
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:42
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:43
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:44
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:45
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:24
msgctxt "figure:th04-bullet-ring.svg"
msgid "Fixed ring"
msgstr "حلقة ثابتة"
#: website/public/assets/figures/th04-bullet-ring.svg:25
msgctxt "figure:th04-bullet-ring.svg"
msgid "First bullet: angle 0"
msgstr "الرصاصة الأولى: الزاوية 0"
#: website/public/assets/figures/th04-bullet-ring.svg:26
msgctxt "figure:th04-bullet-ring.svg"
msgid "Aimed ring"
msgstr "تهدف حلقة"
#: website/public/assets/figures/th04-bullet-ring.svg:27
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:64
#: website/public/assets/figures/th04-bullet-ring.svg:102
msgctxt "figure:th04-bullet-ring.svg"
msgid "Origin"
msgstr "المركز"
#: website/public/assets/figures/th04-bullet-ring.svg:105
msgctxt "figure:th04-bullet-ring.svg"
msgid "Player"
msgstr "لاعب"
#: website/public/assets/figures/th04-bullet-ring.svg:110
msgctxt "figure:th04-bullet-ring.svg"
msgid "Same spacing: 256 ÷ 16 = 16 angle units = 22.5°"
msgstr "نفس التباعد: 256 1 16 = 16 وحدة زاوية = 22.5°"
#: website/public/blog/index.html:114
#: website/public/blog/reverse-engineering-models/index.html:114
#: website/public/blog/touhou-reconstruction/index.html:114
#: website/public/examples/dino-lab/index.html:115
#: website/public/faq/index.html:114
#: website/public/first-investigation/index.html:114
#: website/public/get-started/index.html:114
#: website/public/guides/browser/index.html:114
#: website/public/guides/index.html:114
#: website/public/guides/javascript/index.html:114
#: website/public/guides/native/index.html:114 website/public/index.html:116
#: website/public/showcase/aegis/index.html:115
#: website/public/showcase/ctf/index.html:114
#: website/public/showcase/dx-ball/index.html:114
#: website/public/showcase/index.html:114
#: website/public/showcase/notion/index.html:114
#: website/public/showcase/th04/index.html:114
msgctxt "shared"
msgid "Showcases"
msgstr "أمثلة عملية"
#: website/public/blog/index.html:115
#: website/public/blog/reverse-engineering-models/index.html:115
#: website/public/blog/touhou-reconstruction/index.html:115
#: website/public/examples/dino-lab/index.html:116
#: website/public/faq/index.html:115
#: website/public/first-investigation/index.html:115
#: website/public/get-started/index.html:115
#: website/public/guides/browser/index.html:115
#: website/public/guides/index.html:115
#: website/public/guides/javascript/index.html:115
#: website/public/guides/native/index.html:115 website/public/index.html:117
#: website/public/showcase/aegis/index.html:116
#: website/public/showcase/ctf/index.html:115
#: website/public/showcase/dx-ball/index.html:115
#: website/public/showcase/index.html:115
#: website/public/showcase/notion/index.html:115
#: website/public/showcase/th04/index.html:115
msgctxt "shared"
msgid "Blog"
msgstr "المدونة"
#: website/public/blog/index.html:113
#: website/public/blog/reverse-engineering-models/index.html:113
#: website/public/blog/touhou-reconstruction/index.html:113
#: website/public/examples/dino-lab/index.html:114
#: website/public/faq/index.html:113
#: website/public/first-investigation/index.html:113
#: website/public/get-started/index.html:113
#: website/public/guides/browser/index.html:113
#: website/public/guides/index.html:113
#: website/public/guides/javascript/index.html:113
#: website/public/guides/native/index.html:113 website/public/index.html:115
#: website/public/showcase/aegis/index.html:114
#: website/public/showcase/ctf/index.html:113
#: website/public/showcase/dx-ball/index.html:113
#: website/public/showcase/index.html:113
#: website/public/showcase/notion/index.html:113
#: website/public/showcase/th04/index.html:113
msgctxt "shared"
msgid "Get started"
msgstr "ابدأ هنا"
#: website/public/blog/index.html:116
#: website/public/blog/reverse-engineering-models/index.html:116
#: website/public/blog/touhou-reconstruction/index.html:116
#: website/public/examples/dino-lab/index.html:117
#: website/public/faq/index.html:116
#: website/public/first-investigation/index.html:116
#: website/public/get-started/index.html:116
#: website/public/guides/browser/index.html:116
#: website/public/guides/index.html:116
#: website/public/guides/javascript/index.html:116
#: website/public/guides/native/index.html:116 website/public/index.html:118
#: website/public/showcase/aegis/index.html:117
#: website/public/showcase/ctf/index.html:116
#: website/public/showcase/dx-ball/index.html:116
#: website/public/showcase/index.html:116
#: website/public/showcase/notion/index.html:116
#: website/public/showcase/th04/index.html:116
msgctxt "shared"
msgid "Guides"
msgstr "الأدلة"
#: website/public/blog/index.html:236
#: website/public/blog/reverse-engineering-models/index.html:875
#: website/public/blog/touhou-reconstruction/index.html:1072
#: website/public/examples/dino-lab/index.html:467
#: website/public/faq/index.html:565
#: website/public/first-investigation/index.html:515
#: website/public/get-started/index.html:874
#: website/public/guides/browser/index.html:499
#: website/public/guides/index.html:274
#: website/public/guides/javascript/index.html:495
#: website/public/guides/native/index.html:501 website/public/index.html:1183
#: website/public/showcase/aegis/index.html:800
#: website/public/showcase/ctf/index.html:769
#: website/public/showcase/dx-ball/index.html:777
#: website/public/showcase/index.html:309
#: website/public/showcase/notion/index.html:623
#: website/public/showcase/th04/index.html:792
msgctxt "shared"
msgid "Source"
msgstr "الكود المصدري"
#: website/public/blog/index.html:237
#: website/public/blog/reverse-engineering-models/index.html:876
#: website/public/blog/touhou-reconstruction/index.html:1073
#: website/public/examples/dino-lab/index.html:468
#: website/public/faq/index.html:566
#: website/public/first-investigation/index.html:516
#: website/public/get-started/index.html:875
#: website/public/guides/browser/index.html:500
#: website/public/guides/index.html:275
#: website/public/guides/javascript/index.html:496
#: website/public/guides/native/index.html:502 website/public/index.html:1184
#: website/public/showcase/aegis/index.html:801
#: website/public/showcase/ctf/index.html:770
#: website/public/showcase/dx-ball/index.html:778
#: website/public/showcase/index.html:310
#: website/public/showcase/notion/index.html:624
#: website/public/showcase/th04/index.html:793
msgctxt "shared"
msgid "MIT license"
msgstr "رخصة MIT"
#: website/public/blog/index.html:238
#: website/public/blog/reverse-engineering-models/index.html:877
#: website/public/blog/touhou-reconstruction/index.html:1074
#: website/public/examples/dino-lab/index.html:469
#: website/public/faq/index.html:567
#: website/public/first-investigation/index.html:517
#: website/public/get-started/index.html:876
#: website/public/guides/browser/index.html:501
#: website/public/guides/index.html:276
#: website/public/guides/javascript/index.html:497
#: website/public/guides/native/index.html:503 website/public/index.html:1185
#: website/public/showcase/aegis/index.html:802
#: website/public/showcase/ctf/index.html:771
#: website/public/showcase/dx-ball/index.html:779
#: website/public/showcase/index.html:311
#: website/public/showcase/notion/index.html:625
#: website/public/showcase/th04/index.html:794
msgctxt "shared"
msgid "Join the community"
msgstr "انضم إلى المجتمع"
#: website/public/blog/index.html:239
#: website/public/blog/reverse-engineering-models/index.html:878
#: website/public/blog/touhou-reconstruction/index.html:1075
#: website/public/examples/dino-lab/index.html:470
#: website/public/faq/index.html:568
#: website/public/first-investigation/index.html:518
#: website/public/get-started/index.html:877
#: website/public/guides/browser/index.html:502
#: website/public/guides/index.html:277
#: website/public/guides/javascript/index.html:498
#: website/public/guides/native/index.html:504 website/public/index.html:1186
#: website/public/showcase/aegis/index.html:803
#: website/public/showcase/ctf/index.html:772
#: website/public/showcase/dx-ball/index.html:780
#: website/public/showcase/index.html:312
#: website/public/showcase/notion/index.html:626
#: website/public/showcase/th04/index.html:795
msgctxt "shared"
msgid "Follow us on X"
msgstr "تابعنا على X"
#: website/public/examples/dino-lab/index.html:306
msgctxt "page:examples/dino-lab/index.html"
msgid "REA · selected script source"
msgstr "REA * مصدر البرنامج النصي المحدد"
#: website/public/first-investigation/index.html:374
msgctxt "page:first-investigation/index.html"
msgid "Source"
msgstr "الكود المصدري"
#: website/public/first-investigation/index.html:428
msgctxt "page:first-investigation/index.html"
msgid "Expected formatter output"
msgstr "الناتج المنسق المتوقع"
#: website/public/guides/index.html:219
msgctxt "page:guides/index.html"
msgid "Instructions"
msgstr "التعليمات"
#: website/public/guides/index.html:220
msgctxt "page:guides/index.html"
msgid "Caller"
msgstr "الدالة المستدعية"
#: website/public/guides/index.html:221
msgctxt "page:guides/index.html"
msgid "Constants"
msgstr "الثوابت"
#: website/public/guides/index.html:222
msgctxt "page:guides/index.html"
msgid "C function"
msgstr "جيم وظيفة"
#: website/public/guides/index.html:237
msgctxt "page:guides/index.html"
msgid "Button"
msgstr "زر"
#: website/public/guides/index.html:238
msgctxt "page:guides/index.html"
msgid "Preload API"
msgstr "واجهة برمجة تطبيقات التحميل المسبق"
#: website/public/guides/index.html:239
msgctxt "page:guides/index.html"
msgid "IPC"
msgstr "التصنيف الدولي للبراءات"
#: website/public/guides/index.html:239
msgctxt "page:guides/index.html"
msgid "CSV file"
msgstr "CSV ملف"
#: website/public/guides/index.html:259
msgctxt "page:guides/index.html"
msgid "Your click"
msgstr "انقر فوق الخاص بك"
#: website/public/guides/index.html:260
msgctxt "page:guides/index.html"
msgid "Captured request"
msgstr "طلب تم التقاطه"
#: website/public/guides/index.html:261
msgctxt "page:guides/index.html"
msgid "Export script"
msgstr "نص التصدير"
#: website/public/guides/javascript/index.html:357
msgctxt "page:guides/javascript/index.html"
msgid "REA result · summary.ipc excerpt"
msgstr "REA النتيجة * ملخص.مقتطفات التصنيف الدولي للبراءات"
#: website/public/guides/native/index.html:384
msgctxt "page:guides/native/index.html"
msgid "REA instruction excerpt · 0x406409"
msgstr "REA مقتطفات التعليمات * 0 * 406409"
#: website/public/guides/native/index.html:398
msgctxt "page:guides/native/index.html"
msgid "REA caller excerpt · 0x411f5b"
msgstr "REA مقتطف الدالة المستدعية · 0 * 411 أف 5 ب"
#: website/public/guides/native/index.html:412
msgctxt "page:guides/native/index.html"
msgid "REA byte results · interpreted as little-endian doubles"
msgstr "REA نتائج البايت * تفسر على أنها زوجي صغير"
#: website/public/guides/native/index.html:429
msgctxt "page:guides/native/index.html"
msgid "Recovered C · excerpt"
msgstr "تعافى ج * مقتطفات"
#: website/public/index.html:232
msgctxt "page:index.html"
msgid "See how REA works ↓"
msgstr "شاهد كيف يعمل REA ↓"
#: website/public/index.html:239
msgctxt "page:index.html"
msgid "Showcases →"
msgstr "يعرض →"
#: website/public/index.html:749
msgctxt "page:index.html"
msgid "Selected settings from the inspected script"
msgstr "الإعدادات المحددة من البرنامج النصي الذي تم فحصه"
#: website/public/index.html:921
msgctxt "page:index.html"
msgid "Readable summary of the % handler"
msgstr "ملخص مقروء لمعالج ٪"
#: website/public/index.html:985
msgctxt "page:index.html"
msgid "REA · selected original instructions"
msgstr "REA * تعليمات أصلية مختارة"
#: website/public/index.html:996
msgctxt "page:index.html"
msgid "Operator IDs · Microsoft’s source"
msgstr "معرفات المشغل * مصدر مايكروسوفت"
#: website/public/index.html:1170
msgctxt "page:index.html"
msgid "Follow @reatools on X"
msgstr "اتبع @رياتولس على س"
#: website/public/showcase/aegis/index.html:399
#: website/public/showcase/aegis/index.html:431
msgctxt "page:showcase/aegis/index.html"
msgid "Agent → REA"
msgstr "وكيل → REA"
#: website/public/showcase/aegis/index.html:409
msgctxt "page:showcase/aegis/index.html"
msgid "REA → agent · selected results"
msgstr "REA - وكيل * نتائج مختارة"
#: website/public/showcase/aegis/index.html:445
msgctxt "page:showcase/aegis/index.html"
msgid "REA → agent · methods and callers"
msgstr "REA - وكيل * طرق والدوال المستدعية"
#: website/public/showcase/aegis/index.html:515
msgctxt "page:showcase/aegis/index.html"
msgid "REA · selected decompiled Java"
msgstr "REA * جافا مفككة مختارة"
#: website/public/showcase/aegis/index.html:545
msgctxt "page:showcase/aegis/index.html"
msgid "Readable summary · agent's interpretation"
msgstr "ملخص مقروء * تفسير الوكيل"
#: website/public/showcase/aegis/index.html:600
msgctxt "page:showcase/aegis/index.html"
msgid "REA · generateOTP, complete body"
msgstr "REA * جينيراتوتب ، كامل الجسم"
#: website/public/showcase/aegis/index.html:718
msgctxt "page:showcase/aegis/index.html"
msgid "Download Aegis APK"
msgstr "تحميل Aegis APK"
#: website/public/showcase/aegis/index.html:722
msgctxt "page:showcase/aegis/index.html"
msgid "Download Android analysis provider"
msgstr "تحميل مزود تحليل Android"
#: website/public/showcase/ctf/index.html:302
#: website/public/showcase/ctf/index.html:338
msgctxt "page:showcase/ctf/index.html"
msgid "Agent → REA"
msgstr "وكيل → REA"
#: website/public/showcase/ctf/index.html:318
msgctxt "page:showcase/ctf/index.html"
msgid "REA → agent · selected results"
msgstr "REA - وكيل * نتائج مختارة"
#: website/public/showcase/ctf/index.html:350
msgctxt "page:showcase/ctf/index.html"
msgid "REA → agent · selected instructions"
msgstr "REA - وكيل * تعليمات مختارة"
#: website/public/showcase/ctf/index.html:413
msgctxt "page:showcase/ctf/index.html"
msgid "Agent → REA · read_bytes"
msgstr "وكيل → REA * قراءة _ بايت"
#: website/public/showcase/ctf/index.html:420
msgctxt "page:showcase/ctf/index.html"
msgid "REA → agent · seventh entries"
msgstr "REA agent الوكيل * الإدخالات السابعة"
#: website/public/showcase/ctf/index.html:688
msgctxt "page:showcase/ctf/index.html"
msgid "Original executable · SHA-256"
msgstr "قابل للتنفيذ الأصلي · SHA-256"
#: website/public/showcase/ctf/index.html:724
msgctxt "page:showcase/ctf/index.html"
msgid "Download the original challenge"
msgstr "تحميل التحدي الأصلي"
#: website/public/showcase/ctf/index.html:728
msgctxt "page:showcase/ctf/index.html"
msgid "Download solver"
msgstr "تحميل حلالا"
#: website/public/showcase/dx-ball/index.html:329
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:352
#: website/public/showcase/dx-ball/index.html:376
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "Agent → REA · {ph0}"
msgstr "وكيل → REA · {ph0}"
#: website/public/showcase/dx-ball/index.html:358
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA → agent · instruction excerpt"
msgstr "REA - وكيل * مقتطفات التعليمات"
#: website/public/showcase/dx-ball/index.html:382
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:400
#, 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:410
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA byte results · decoded as doubles"
msgstr "REA نتائج بايت * فك كما الزوجي"
#: website/public/showcase/dx-ball/index.html:763
msgctxt "page:showcase/dx-ball/index.html"
msgid "Start with your own target"
msgstr "ابدأ بالهدف الخاص بك"
#: website/public/showcase/index.html:212
msgctxt "page:showcase/index.html"
msgid "APK"
msgstr "APK"
#: website/public/showcase/index.html:213
msgctxt "page:showcase/index.html"
msgid "Generating code"
msgstr "توليد التعليمات البرمجية"
#: website/public/showcase/index.html:214
msgctxt "page:showcase/index.html"
msgid "Recovered rule"
msgstr "القاعدة المستردة"
#: website/public/showcase/index.html:215
msgctxt "page:showcase/index.html"
msgid "Adjustable clock"
msgstr "ساعة قابلة للتعديل"
#: website/public/showcase/index.html:230
msgctxt "page:showcase/index.html"
msgid "Binary"
msgstr "ثنائي"
#: website/public/showcase/index.html:231
msgctxt "page:showcase/index.html"
msgid "Checking code"
msgstr "التحقق من التعليمات البرمجية"
#: website/public/showcase/index.html:232
msgctxt "page:showcase/index.html"
msgid "Equations"
msgstr "المعادلات"
#: website/public/showcase/index.html:233
msgctxt "page:showcase/index.html"
msgid "Correct!"
msgstr "صحيح!"
#: website/public/showcase/index.html:249
msgctxt "page:showcase/index.html"
msgid "Executable"
msgstr "قابل للتنفيذ"
#: website/public/showcase/index.html:250
msgctxt "page:showcase/index.html"
msgid "REA findings"
msgstr "REA النتائج"
#: website/public/showcase/index.html:251
msgctxt "page:showcase/index.html"
msgid "Recovered C"
msgstr "تعافى ج"
#: website/public/showcase/index.html:252
msgctxt "page:showcase/index.html"
msgid "Validation"
msgstr "التحقق من الصحة"
#: website/public/showcase/index.html:267
msgctxt "page:showcase/index.html"
msgid "Packaged app"
msgstr "التطبيق المعبأ"
#: website/public/showcase/index.html:268
msgctxt "page:showcase/index.html"
msgid "Exposed API"
msgstr "واجهة برمجة تطبيقات مكشوفة"
#: website/public/showcase/index.html:269
msgctxt "page:showcase/index.html"
msgid "IPC wrappers"
msgstr "مغلفة التصنيف الدولي للبراءات"
#: website/public/showcase/index.html:270
msgctxt "page:showcase/index.html"
msgid "Clipboard"
msgstr "الحافظة"
#: website/public/showcase/index.html:285
msgctxt "page:showcase/index.html"
msgid "Original DOS code"
msgstr "كود دوس الأصلي"
#: website/public/showcase/index.html:286
msgctxt "page:showcase/index.html"
msgid "REA instructions"
msgstr "REA التعليمات"
#: website/public/showcase/index.html:287
msgctxt "page:showcase/index.html"
msgid "Angle calculation"
msgstr "حساب الزاوية"
#: website/public/showcase/index.html:288
msgctxt "page:showcase/index.html"
msgid "Bullet ring"
msgstr "حلقة رصاصة"
#: website/public/showcase/notion/index.html:304
msgctxt "page:showcase/notion/index.html"
msgid "Exposed page API"
msgstr "واجهة برمجة تطبيقات الصفحة المكشوفة"
#: website/public/showcase/notion/index.html:310
msgctxt "page:showcase/notion/index.html"
msgid "Renderer IPC call"
msgstr "دعوة العارض إيبك"
#: website/public/showcase/notion/index.html:472
msgctxt "page:showcase/notion/index.html"
msgid "Sent to the system clipboard"
msgstr "إرسالها إلى حافظة النظام"
#: website/public/showcase/notion/index.html:480
msgctxt "page:showcase/notion/index.html"
msgid "Saved locally by Notion"
msgstr "محفوظ محليا بواسطة Notion"
#: website/public/showcase/notion/index.html:525
msgctxt "page:showcase/notion/index.html"
msgid "Markdown input"
msgstr "إدخال تخفيض السعر"
#: website/public/showcase/notion/index.html:532
msgctxt "page:showcase/notion/index.html"
msgid "Structured parser output · excerpt"
msgstr "منظم محلل الإخراج * مقتطفات"
#: website/public/showcase/notion/index.html:609
msgctxt "page:showcase/notion/index.html"
msgid "Analyze your own app"
msgstr "تحليل التطبيق الخاص بك"
#: website/public/showcase/th04/index.html:369
msgctxt "page:showcase/th04/index.html"
msgid "Agent → REA"
msgstr "وكيل → REA"
#: website/public/showcase/th04/index.html:378
msgctxt "page:showcase/th04/index.html"
msgid "REA → agent · selected fields"
msgstr "REA agent وكيل * الحقول المحددة"
#. {ph0}: <code>analyze_function</code>
#: website/public/showcase/th04/index.html:397
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "Agent → REA · {ph0}"
msgstr "وكيل → REA · {ph0}"
#: website/public/showcase/th04/index.html:403
msgctxt "page:showcase/th04/index.html"
msgid "REA → agent · instruction excerpt"
msgstr "REA - وكيل * مقتطفات التعليمات"
#: website/public/showcase/th04/index.html:424
msgctxt "page:showcase/th04/index.html"
msgid "Same function result · aim excerpt"
msgstr "نفس النتيجة وظيفة * تهدف مقتطفات"
#: website/public/showcase/th04/index.html:433
msgctxt "page:showcase/th04/index.html"
msgid "Corresponding maintained C++"
msgstr "المقابلة الحفاظ ج C"
#: website/public/showcase/th04/index.html:613
msgctxt "page:showcase/th04/index.html"
msgid "Ring macro · TH04 branch, excerpt"
msgstr "حلقة ماكرو · TH04 فرع ، مقتطفات"
#: website/public/showcase/th04/index.html:623
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 "يتم تحديث الترجمة. اقرأ هذه الصفحة باللغة الإنجليزية في الوقت الحالي."
# Reviewed for readable instructions and accurate software terminology.
#. {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:425
#, 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:243
#, 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:293
#, 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:432
#, 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:269
#, 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:1072
#, 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:320
#, python-brace-format
msgctxt "page:examples/dino-lab/index.html"
msgid "Reconstruction · {ph0}"
msgstr "إعادة الإعمار · {ph0}"
# Reviewed for readable instructions and accurate software terminology.
#. {ph0}: <span translate="no">Node.js</span>
#: website/public/faq/index.html:218
#, 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:202
#, 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:221
#, 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:339
#, 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:347
#, 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:355
#, 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:373
#, 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:415
#, 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 للحصول على ملاحظة مع معرف 1 والعنوان {ph3}. ثم قم "
"بتشغيل المثال {ph4} المنسق مع {ph5} للتحقق من ذلك. عرض التنبؤ والإخراج "
"الفعلي.{ph6}{ph7}{ph8}"
#. {ph0}: <span translate="no">Node.js</span>
#: website/public/first-investigation/index.html:433
#, 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:446
#, 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:200
#, 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:205
#, 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:224
#, 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} يطبع الإصدار 22.19+ أو الإصدار 24.11+ أو الإصدار 26+ ، فأنت جاهز. "
"إذا قام بطباعة إصدار أقدم أو \"غير معروف\" / \"لم يتم العثور على الأمر\" ، "
"فقم بالتثبيت {ph1} 24 لتر:"
#. {ph0}: <span translate="no">export.js</span>
#: website/public/guides/browser/index.html:441
#, 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:459
#, 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:309
#: website/public/guides/javascript/index.html:325
#: website/public/guides/javascript/index.html:340
#, 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:374
#, 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:294
#, 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:318
#, python-brace-format
msgctxt "page:index.html"
msgid "One question: {ph0}why does Calculator give 220 for {ph1}?{ph2}"
msgstr "مثلاً: {ph0}لماذا تعطي الآلة الحاسبة 220 عند حساب {ph1}؟{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:506
#, 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:691
#, 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:795
#, 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:952
#, 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">aegis-v3.4.3.apk</span>
#. {ph4}: </span >
#. {ph5}: <span class="terminal-cursor" aria-hidden="true">
#. {ph6}: </span>
#: website/public/showcase/aegis/index.html:278
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid ""
"{ph0}›{ph1}{ph2}Use REA to inspect {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 لتحليل {ph3}. اشرح كيف يُنشأ رمز تسجيل الدخول "
"المكوّن من ستة أرقام ولماذا يتغير كل 30 ثانية. أنشئ عرضًا صغيرًا أستطيع فيه "
"تغيير الوقت.{ph4}{ph5}{ph6}"
#. {ph0}: <span translate="no">preload.js</span>
#: website/public/showcase/notion/index.html:342
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "tab_browser_view/{ph0} · API member"
msgstr "علامة التبويب_المتصفح_عرض/{ph0} * عضو واجهة برمجة التطبيقات"
#. {ph0}: <span translate="no">preload.js</span>
#: website/public/showcase/notion/index.html:371
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "tab_browser_view/{ph0} · IPC helper"
msgstr "علامة التبويب_المتصفح_عرض/{ph0} * إيبك مساعد"
#. {ph0}: <span translate="no">index.js</span>
#: website/public/showcase/notion/index.html:402
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "main/{ph0} · handler helper"
msgstr "الرئيسية/{ph0} * معالج مساعد"
#. {ph0}: <span translate="no">index.js</span>
#: website/public/showcase/notion/index.html:430
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "main/{ph0} · clipboard receiver"
msgstr "الرئيسية/{ph0} * استقبال الحافظة"
# Use the same label as the Get started navigation link. The arrow is
# decorative.
#. {ph0}: <span class="button-arrow" aria-hidden="true" data-i18n-skip
#. >→</span >
#: website/public/index.html:233
#, python-brace-format
msgctxt "page:index.html"
msgid "Get started {ph0}"
msgstr "ابدأ هنا {ph0}"
#: website/public/assets/theme.js:52
msgctxt "runtime"
msgid "Switch to light mode"
msgstr "التبديل إلى الوضع الفاتح"
#: website/public/assets/theme.js:53
msgctxt "runtime"
msgid "Switch to dark mode"
msgstr "التبديل إلى الوضع الداكن"
#. {ph0}: <a
#. href="https://github.com/morluto/rea/blob/main/docs/guides/web/web-network-
#. captures.md" >
#. {ph1}: </a >
#: website/public/guides/browser/index.html:480
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid ""
"For HTTP request and response bodies, use {ph0}Fiddler Everywhere: SAZ "
"captures, MCP and public skills{ph1}. Export SAZ or HAR 1.2 for offline REA "
"capture Evidence, or connect Everywhere's MCP server to inspect captured "
"traffic with your agent."
msgstr ""
"لفحص أجسام طلبات HTTP واستجاباتها، استخدم {ph0}Fiddler Everywhere: تسجيلات "
"SAZ وMCP والمهارات العامة{ph1}. صدّر بتنسيق SAZ ?? HAR 1.2 للحصول على أدلة "
"تسجيل في REA دون اتصال، أو اربط خادم MCP في Everywhere لفحص حركة المرور "
"المسجلة مع وكيلك."
#. {ph0}: <br />
#: website/public/blog/index.html:200
#, python-brace-format
msgctxt "page:blog/index.html"
msgid "Model specialization{ph0}Essay"
msgstr "نماذج متخصصة{ph0}مقال"
#: website/public/blog/index.html:202
msgctxt "page:blog/index.html"
msgid "Does reverse engineering need a bigger model?"
msgstr "هل تحتاج الهندسة العكسية إلى نموذج أكبر؟"
#: website/public/blog/index.html:203
msgctxt "page:blog/index.html"
msgid ""
"What Touhou reconstruction suggests about general models, specialist models "
"and learning from compiler feedback."
msgstr ""
"أفكار من إعادة بناء Touhou حول النماذج العامة والمتخصصة والتعلم من نتائج "
"المُصرّف."
#: website/public/blog/index.html:210
msgctxt "page:blog/index.html"
msgid "By N0zoM1z0 · 13 October 2026"
msgstr "بواسطة N0zoM1z0 · 13 أكتوبر 2026"
#: website/public/blog/reverse-engineering-models/index.html:103
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Skip to content"
msgstr "تخطي إلى المحتوى"
#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/blog/reverse-engineering-models/index.html:194
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Home{ph1} / {ph2}Blog{ph3} / Models and RE"
msgstr ""
"{ph0}الصفحة الرئيسية{ph1} / {ph2}المدونة{ph3} / النماذج والهندسة العكسية"
#: website/public/blog/reverse-engineering-models/index.html:197
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Essay"
msgstr "مقال"
# Reviewed for technical meaning and readability; preserve the distinction
# between historical evidence and proposed experiments.
#: website/public/blog/reverse-engineering-models/index.html:198
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Does reverse engineering need a bigger model?"
msgstr "هل تحتاج الهندسة العكسية إلى نموذج أكبر؟"
#: website/public/blog/reverse-engineering-models/index.html:199
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "By N0zoM1z0 · 13 October 2026"
msgstr "بواسطة N0zoM1z0 · 13 أكتوبر 2026"
#: website/public/blog/reverse-engineering-models/index.html:201
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Takeaway"
msgstr "أهم الأفكار"
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:203
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}Model capability changes the hypotheses an agent can find.{ph1} Later "
"sessions have solved problems that earlier work left unresolved."
msgstr ""
"{ph0}تؤثر قدرة النموذج على الفرضيات التي يمكن أن يقترحها وكيل الذكاء "
"الاصطناعي.{ph1} قامت الجلسات اللاحقة بحل المشكلات التي تركها العمل السابق "
"دون حل."
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:211
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}A familiar compiler gives specialization something concrete to "
"learn.{ph1} Some exact matches depend on narrow, reusable source patterns."
msgstr ""
"{ph0}يقدم المترجم المألوف أنماطًا محددة لنموذج متخصص للتعلم.{ph1} تعتمد بعض "
"المطابقات الدقيقة لرمز الآلة على أنماط محددة من كود المصدر قابلة لإعادة "
"الاستخدام."
#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/reverse-engineering-models/index.html:218
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}Give repository knowledge a fair comparison.{ph1} A smaller model with "
"good retrieval may already know enough to make progress."
msgstr ""
"{ph0}قم بتضمين معرفة المستودع في مقارنة عادلة.{ph1} قد يحتوي النموذج الأصغر "
"الذي يتمتع باسترجاع جيد للمعرفة على معلومات كافية لإحراز تقدم."
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:223
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}Train the next useful experiment, and test its oracle.{ph1} The value "
"of feedback depends on what the checker actually verifies."
msgstr ""
"{ph0}قم بتدريب النموذج على اختيار التجربة المفيدة التالية، واختبار أداة "
"التحقق الخاص به.{ph1} تكون التعليقات مفيدة فقط إلى الحد الذي يتحقق فيه "
"المدقق من الأشياء الصحيحة."
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:230
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}Measure accepted reconstruction against time and cost.{ph1} That is the"
" result I want from the whole agent."
msgstr ""
"{ph0}قم بتقييم نتائج إعادة بناء الشيفرة التي تم التحقق منها جنبًا إلى جنب مع"
" الوقت والتكلفة.{ph1} هذا ما أريد قياسه لسير عمل وكيل الذكاء الاصطناعي "
"الكامل."
#: website/public/blog/reverse-engineering-models/index.html:241
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "In this article"
msgstr "في هذه المقالة"
#. {ph0}: <a href="#model-capability">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:243
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}What better models changed{ph1}"
msgstr "{ph0}ما الذي غيّرته النماذج الأقوى؟{ph1}"
#. {ph0}: <a href="#specialization">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:244
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Why specialize?{ph1}"
msgstr "{ph0}لماذا التخصص؟{ph1}"
#. {ph0}: <a href="#repository-knowledge">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:245
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Where experience lives{ph1}"
msgstr "{ph0}أين ينبغي تخزين هذه التجربة؟{ph1}"
#. {ph0}: <a href="#learning-search">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:246
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Learning the next experiment{ph1}"
msgstr "{ph0}تعلم التجربة المفيدة التالية{ph1}"
#. {ph0}: <a href="#re-and-rl">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:247
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}RE and reinforcement learning{ph1}"
msgstr "{ph0}الهندسة العكسية والتعلم المعزز{ph1}"
#. {ph0}: <a href="#oracle">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:248
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}When the oracle is wrong{ph1}"
msgstr "{ph0}عندما يكون أداة التحقق خاطئًا{ph1}"
#. {ph0}: <a href="#comparison">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:249
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}A comparison worth running{ph1}"
msgstr "{ph0}مقارنة تستحق التشغيل{ph1}"
#. {ph0}: <a href="#future-agent">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:250
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}What kind of agent?{ph1}"
msgstr "{ph0}ما هو نوع وكيل الذكاء الاصطناعي الذي يشير إليه هذا؟{ph1}"
#: website/public/blog/reverse-engineering-models/index.html:258
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "What better models changed"
msgstr "ما الذي غيّرته النماذج الأقوى؟"
#: website/public/blog/reverse-engineering-models/index.html:259
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Since August 2026, I have been exploring how much reverse engineering an "
"agent can carry out with access to a program and a way to check its work. "
"Most of my experience comes from reconstructing games, especially Touhou. As"
" I have changed models, the repositories have kept a record of what each "
"session managed to recover."
msgstr ""
"منذ أغسطس 2026، كنت أستكشف مقدار الهندسة العكسية التي يمكن للوكيل تنفيذها من"
" خلال الوصول إلى البرنامج وطريقة التحقق من عمله. معظم خبرتي تأتي من إعادة "
"بناء الألعاب، وخاصة Touhou. وبما أنني قمت بتغيير النماذج، فقد احتفظت "
"المستودعات بسجل لما تمكنت كل جلسة من استعادته."
#: website/public/blog/reverse-engineering-models/index.html:267
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Much of that work aims at exact reconstruction: we compile the maintained "
"source under a pinned historical toolchain and check whether it reproduces "
"the target function. When a later model succeeds where earlier work stalled,"
" the source changes show what made that progress possible."
msgstr ""
"يهدف كثير من هذا العمل إلى إعادة بناء دقيقة: نترجم الشيفرة المصدرية التي "
"نحتفظ بها باستخدام أدوات من تلك الحقبة بإصدارات ثابتة، ثم نتحقق من أنها تعيد"
" إنتاج الدالة المستهدفة. عندما يحل نموذج أحدث مشكلة تعثر عندها العمل السابق،"
" تكشف تغييرات الشيفرة ما الذي أتاح هذا التقدم."
#: website/public/blog/reverse-engineering-models/index.html:274
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "The temporary values had to stay alive together"
msgstr "تحتاج المتغيرات المؤقتة إلى عمر متداخل"
#: website/public/blog/reverse-engineering-models/index.html:275
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Much of a TH09 attack function's logic had already been reconstructed, but "
"the compiler still stored temporary results differently from the original. "
"The remaining problem was how long those results needed to stay alive and "
"when their storage could be reused."
msgstr ""
"تمت إعادة بناء الكثير من منطق دالة الهجوم TH09 بالفعل، لكن المترجم ما زال "
"يخزن النتائج المؤقتة بشكل مختلف عن الأصل. وكانت المشكلة المتبقية هي المدة "
"التي تحتاجها تلك النتائج للبقاء على قيد الحياة، ومتى يمكن إعادة استخدام "
"مخزونها."
#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/de63c0f9121963f3a6b1ab5471c4878625fd3425"
#. >
#. {ph1}: </a >
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/52929ed7c299f1a5f29cc13964e22510145fd616"
#. >
#. {ph3}: </a >
#: website/public/blog/reverse-engineering-models/index.html:282
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"A {ph0}GPT-6-Sol checkpoint{ph1} recorded this mismatch after testing "
"several ordinary source arrangements. When {ph2}GPT-6.1-Sol returned to the "
"problem{ph3}, it found a useful hypothesis about how long those temporary "
"values needed to stay alive."
msgstr ""
"أبلغ {ph0}GPT-6-Sol سجل الجلسة{ph1} عن عدم التطابق هذا بعد اختبار العديد من "
"ترتيبات كود المصدر العادية. عندما فحص {ph2}GPT-6.1-Sol المشكلة مرة "
"أخرى{ph3}، اقترح فرضية مفيدة حول عمر هذه المتغيرات المؤقتة."
#: website/public/blog/reverse-engineering-models/index.html:296
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"The function produced temporary results and copied them into animation "
"positions. In C++, a temporary result stays alive until the expression using"
" it finishes. Grouping the real operations into one expression kept those "
"results alive together, so the compiler could no longer reuse the same "
"storage for all of them."
msgstr ""
"أنتجت الوظيفة نتائج مؤقتة ونسختها في مواضع الرسوم المتحركة. في لغة C++، تظل "
"النتيجة المؤقتة حية حتى انتهاء التعبير الذي يستخدمها. يؤدي تجميع العمليات "
"الحقيقية في تعبير واحد إلى إبقاء هذه النتائج حية معًا، لذلك لم يعد بإمكان "
"المترجم إعادة استخدام نفس وحدة التخزين لجميعها."
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:303
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"One result still shared storage with a value used later for collision "
"checks. Giving that value its own lifetime resolved the remaining overlap. "
"After several targeted experiments, {ph0}a clean rebuild confirmed that the "
"full function matched{ph1}."
msgstr ""
"لا تزال إحدى النتائج مشتركة في مساحة التخزين مع القيمة المستخدمة لاحقًا "
"للتحقق من التضارب. إن إعطاء هذه القيمة مدى الحياة الخاص بها أدى إلى حل "
"التداخل المتبقي. وبعد عدة تجارب مستهدفة، {ph0}أكدت إعادة الترجمة النظيفة من "
"المصدر أن الوظيفة الكاملة مطابقة{ph1}."
#: website/public/blog/reverse-engineering-models/index.html:312
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"What interests me is how the discovery and the tests worked together. The "
"lifetime hypothesis gave the agent a new direction; compiler feedback helped"
" it refine that hypothesis into a source arrangement that matched."
msgstr ""
"أنا مهتم بكيفية دعم الاكتشاف والاختبارات لبعضهما البعض. أعطت الفرضية "
"المتعلقة بعمر الكائنات المؤقتة لعامل الذكاء الاصطناعي اتجاهًا جديدًا. ساعدت "
"تعليقات المترجم في تحسين هذه الفرضية إلى ترتيب كود المصدر المطابق."
#: website/public/blog/reverse-engineering-models/index.html:318
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "A different control-flow graph"
msgstr "رسم بياني مختلف للتحكم في التدفق"
#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/f8d12d72aaf02212ee1b585a8f3f86d7ed000269"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:319
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"A second TH09 function shows why that new direction can matter. Here, the "
"obstacle was how several branches shared their final work. "
"{ph0}GPT-6.1-Sol's earlier work{ph1} got parts of the function to match, but"
" the branches still joined up differently from the original."
msgstr ""
"توضح وظيفة TH09 الثانية سبب أهمية هذا الاتجاه الجديد. وهنا، كانت العقبة هي "
"كيفية مشاركة العديد من الفروع لعملها النهائي. يحتوي العمل السابق لـ "
"{ph0}GPT-6.1-Sol{ph1} على أجزاء من الدالة متطابقة، ولكن لا تزال الفروع متصلة"
" بشكل مختلف عن الأصل."
#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/da33a646221198ceb7f3df2b96e2ca0e9b2f705f"
#. >
#. {ph1}: </a >
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/5f825b28a862f8e1a6d4aea2f78a42f04c09a1c0"
#. >
#. {ph3}: </a >
#: website/public/blog/reverse-engineering-models/index.html:330
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}GPT-6-Astra changed the surrounding control-flow graph{ph1}. The main "
"paths now led to a shared final update and return. In that source structure,"
" the compiler combined the branches in the same way as the original. The "
"complete function matched, and a {ph2}separate rebuild check confirmed "
"it{ph3}."
msgstr ""
"{ph0}غيّر GPT-6-Astra الرسم البياني المحيط لتدفق التحكم{ph1}. أصبحت المسارات"
" الرئيسية تؤدي إلى تحديث أخير وعودة مشتركين. بهذه البنية، دمج المترجم "
"البرمجي الفروع كما في الأصل. تطابقت الدالة كاملة، وأكد ذلك {ph2}فحص مستقل "
"لإعادة البناء{ph3}."
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:342
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}Changing the representation opened a more productive search space.{ph1}"
" Both cases give me a reason to take general model capability seriously: an "
"agent can keep trying local variations for a long time before finding a "
"better way to express the surrounding work."
msgstr ""
"{ph0}أدى تغيير التمثيل إلى فتح مساحة بحث أكثر إنتاجية.{ph1} تمنحني كلتا "
"الحالتين سببًا لأخذ إمكانات النموذج العامة على محمل الجد: يمكن للوكيل "
"الاستمرار في تجربة الاختلافات المحلية لفترة طويلة قبل العثور على طريقة أفضل "
"للتعبير عن العمل المحيط."
#: website/public/blog/reverse-engineering-models/index.html:351
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"At the same time, the later sessions started with earlier source and "
"recorded failures. That accumulated work was part of their advantage. The "
"history lets us inspect the discoveries and their checks; a controlled "
"comparison would help separate the effect of the model from the experience "
"it inherited."
msgstr ""
"في الوقت نفسه، بدأت الجلسات اللاحقة بمصادر سابقة وإخفاقات مسجلة. وكان هذا "
"العمل المتراكم جزءًا من مصلحتهم. يتيح لنا التاريخ فحص الاكتشافات وفحصها؛ ومن"
" شأن المقارنة الخاضعة للرقابة أن تساعد في فصل تأثير النموذج عن الخبرة التي "
"ورثها."
#: website/public/blog/reverse-engineering-models/index.html:358
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"This is where the question becomes interesting to me. Some of the progress "
"came from finding a new representation, while much of the remaining work "
"involved testing source forms against a familiar compiler. How much needs "
"broad reasoning ability, and how much could a model learn through repeated "
"experience with that compiler and code?"
msgstr ""
"وهذا ما يجعل السؤال مثيرًا للاهتمام بالنسبة لي. جاء بعض التقدم من إيجاد "
"تمثيل جديد. تضمن الكثير من العمل المتبقي اختبار ترتيبات مختلفة لشفرة المصدر "
"مقابل مترجم مألوف. كم من هذا يتطلب قدرة تفكير واسعة النطاق؟ ما مقدار ما يمكن"
" أن يتعلمه النموذج من خلال العمل المتكرر مع هذا المترجم والكود؟"
#: website/public/blog/reverse-engineering-models/index.html:368
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Why might a specialist do well?"
msgstr "لماذا قد يكون نموذج الذكاء الاصطناعي المتخصص ناجحًا؟"
#: website/public/blog/reverse-engineering-models/index.html:369
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Touhou gives us a concrete reason to expect that experience to help. Much of"
" the game code comes from the same author, ZUN, so recurring habits are a "
"reasonable starting assumption. The repositories back that up with useful "
"examples: related loops and helper arrangements have supplied hypotheses "
"across games."
msgstr ""
"Touhou يعطينا سببًا ملموسًا لتوقع أن تساعدنا هذه التجربة. الكثير من رموز "
"اللعبة تأتي من نفس المؤلف، ZUN، لذا فإن العادات المتكررة هي افتراض بداية "
"معقول. تدعم المستودعات ذلك بأمثلة مفيدة: الحلقات ذات الصلة والترتيبات "
"المساعدة قدمت فرضيات عبر الألعاب."
#: website/public/blog/reverse-engineering-models/index.html:376
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Those source patterns become more specific when we include the compiler. "
"Under a particular version and set of options, small changes in source can "
"produce repeatable differences in machine code. Some of those differences "
"are surprisingly obscure."
msgstr ""
"تصبح أنماط المصدر هذه أكثر تحديدًا عندما نقوم بتضمين المترجم. ضمن إصدار معين"
" ومجموعة من الخيارات، يمكن أن تؤدي التغييرات الصغيرة في المصدر إلى اختلافات "
"متكررة في كود الجهاز. بعض هذه الاختلافات غامضة بشكل مدهش."
#. {ph0}: <strong >
#. {ph1}: </strong >
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th095/commit/26bb64bdb093a13f73abd0ee8ae7ce199ee4658f"
#. >
#. {ph3}: <code>Supervisor::LoadDat</code>
#. {ph4}: </a >
#: website/public/blog/reverse-engineering-models/index.html:382
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"In TH095, for example, {ph0}even the name used for a local variable could "
"change where VC7.1 stored it{ph1}. Moving the declaration alone did not "
"solve the layout, but an earlier background function had revealed a naming "
"pattern that affected the compiler's choice. That gave us a more promising "
"hypothesis for {ph2}the reconstruction of {ph3}{ph4}."
msgstr ""
"في TH095، على سبيل المثال، {ph0}حتى اسم المتغير المحلي يمكن أن يؤثر على مكان"
" تخزينه VC7.1{ph1}. لم يؤدي نقل إعلانه إلى حل تخطيط التخزين. ومع ذلك، كشفت "
"وظيفة خلفية سابقة عن نمط تسمية أثر على اختيار المترجم. وقد اقترح ذلك فرضية "
"واعدة أكثر بشأن {ph2}إعادة بناء {ph3}{ph4}."
#: website/public/blog/reverse-engineering-models/index.html:396
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Reusing that pattern for the file-size variable produced the required layout"
" without adding storage. The full function then matched."
msgstr ""
"أدت إعادة استخدام هذا النمط لمتغير حجم الملف إلى إنتاج التخطيط المطلوب دون "
"إضافة مساحة تخزين. ثم تمت مطابقة الوظيفة الكاملة."
#: website/public/blog/reverse-engineering-models/index.html:401
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"This is the sort of narrow detail a general model may not know when it "
"arrives. A specialist trained on this compiler could encounter many such "
"cases and learn which source variations are worth testing first."
msgstr ""
"هذه تفاصيل محددة جدًا قد لا يعرفها نموذج الذكاء الاصطناعي للأغراض العامة "
"عندما يواجه المشكلة لأول مرة. يمكن للنموذج المتخصص لهذا المترجم أن يرى "
"العديد من هذه الحالات ويتعرف على اختلافات التعليمات البرمجية المصدر التي "
"تستحق الاختبار أولاً."
#: website/public/blog/reverse-engineering-models/index.html:407
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"The opportunity is especially clear in final matching problems where we "
"already understand the behavior. We are then asking which ordinary source "
"form this compiler turns into the observed instructions. Specialization "
"could help the model propose those forms more efficiently, while the target "
"still determines which hypotheses survive."
msgstr ""
"تكون الفرصة واضحة بشكل خاص في مشاكل المطابقة النهائية حيث نفهم السلوك "
"بالفعل. ثم نسأل عن ترتيب التعليمات البرمجية المصدر العادي الذي يحوله هذا "
"المترجم إلى التعليمات المرصودة. يمكن أن يساعد التخصص النموذج على اقتراح تلك "
"الأشكال بشكل أكثر كفاءة، في حين أن الهدف لا يزال يحدد الفرضيات التي ستبقى."
#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th04/commit/6dce0a79d5b931f0e2a08475b90e0c33d2321b98"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:415
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"The useful patterns would have to retain their context, though. TH08 uses an"
" earlier Visual C++ version than TH095 and TH09. TH04 uses a different DOS-"
"era compiler, and its {ph0}player reconstruction{ph1} needed different "
"hypotheses about source patterns and how the compiled code was combined into"
" an executable. Shared authorship gives us a prior, but each target tells us"
" whether it applies. Distinguishing those contexts is part of what a "
"specialist would need to learn."
msgstr ""
"يجب أن تحتفظ الأنماط بسياقها. يستخدم TH08 إصدارًا من Visual C++ أقدم مما "
"يستخدمه TH095 وTH09. أما TH04 فيستخدم مُترجمًا برمجيًا آخر من حقبة DOS، وقد "
"احتاجت {ph0}إعادة بناء شيفرة اللاعب{ph1} إلى فرضيات مختلفة عن أنماط الشيفرة "
"وكيفية ربطها في ملف تنفيذي. وحدة المؤلف تعطينا توقعًا أوليًا، لكن كل هدف "
"يبين إن كان ينطبق. وعلى النموذج المتخصص تعلم هذه الفروق."
#: website/public/blog/reverse-engineering-models/index.html:431
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Where should that experience live?"
msgstr "أين ينبغي تخزين هذه التجربة؟"
#. {ph0}: <a href="../touhou-reconstruction/">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:432
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Before deciding to teach those patterns through model training, I would look"
" at the knowledge we already keep in the repository. In the {ph0}previous "
"essay{ph1}, I wrote about it becoming the project's working memory. That "
"memory includes compiler lessons, along with the source and failed "
"experiments that made them useful."
msgstr ""
"قبل أن أقرر تعليم هذه الأنماط للنموذج، سأراجع المعرفة التي نحفظها بالفعل في "
"المستودع. في {ph0}المقال السابق{ph1} كتبت عن المستودع وهو يصبح الذاكرة "
"العاملة للمشروع. تتضمن هذه الذاكرة ما تعلمناه عن سلوك المترجم البرمجي، مع "
"الشيفرة والتجارب الفاشلة التي جعلت تلك المعرفة مفيدة."
#: website/public/blog/reverse-engineering-models/index.html:441
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"By retrieving that record, an agent can start with a known result and "
"inspect how we reached it. It can also avoid alternatives that have already "
"failed in the same context. The starting point improves without changing the"
" model's weights."
msgstr ""
"من خلال استرداد هذا السجل، يمكن للوكيل البدء بنتيجة معروفة وفحص كيفية وصولنا"
" إليها. ويمكنه أيضًا تجنب البدائل التي فشلت بالفعل في نفس السياق. تتحسن نقطة"
" البداية دون تغيير معلمات النموذج المدربة."
#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/1eb843383941d00065622a9e353146c4bb96979e"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:447
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"When reconstructing TH09's enemy-spawn function, a {ph0}GPT-6-Luna-max "
"session{ph1} drew a hypothesis from TH08's corresponding source family. That"
" earlier source suggested how to structure the loop and handle failures "
"within it. TH09's own evidence supplied the game-specific details, and clean"
" rebuilds confirmed the complete match."
msgstr ""
"أثناء إعادة بناء وظيفة TH09 لإنشاء الأعداء، أخذت جلسة {ph0}GPT-6-Luna-"
"max{ph1} فرضية من كود مصدر TH08 ذي الصلة. اقترح هذا الكود السابق كيفية تنظيم"
" الحلقة والتعامل مع حالات الفشل بداخلها. قدمت أدلة TH09 الخاصة التفاصيل "
"الخاصة باللعبة. أكدت عمليات إعادة البناء من المصدر أن الوظيفة الكاملة "
"متطابقة."
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:458
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}\"The model did not know that compiler quirk\" and \"the model could "
"not use it\" are different problems.{ph1} Retrieval may solve the first, but"
" turning that fact into a useful candidate still takes work. And if the "
"candidate fails, the model must decide what the result means for its next "
"attempt. Knowing the relevant pattern is only the beginning of that process."
msgstr ""
"{ph0}\"النموذج لم يكن يعرف هذه الخاصية المحددة للمترجم البرمجي\" و\"النموذج "
"لم يستطع استخدامها\" مشكلتان مختلفتان.{ph1} قد يحل استرجاع المعرفة المشكلة "
"الأولى، لكن تحويلها إلى شيفرة مرشحة مفيدة يحتاج إلى عمل. وإذا فشلت الشيفرة "
"المرشحة، فعلى النموذج أن يقرر ما تعنيه النتيجة لمحاولته التالية. معرفة النمط"
" المناسب هي بداية العملية فقط."
#: website/public/blog/reverse-engineering-models/index.html:468
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"For that reason, I would include a smaller general model with good retrieval"
" in any comparison. Giving it the same library of experience would help us "
"identify what training adds: better candidate generation, better decisions "
"after feedback, or both."
msgstr ""
"لهذا السبب، سأقوم بتضمين نموذج ذكاء اصطناعي أصغر حجمًا للأغراض العامة مع "
"استرجاع جيد في أي مقارنة. إن منحها نفس مكتبة الخبرة من شأنه أن يساعدنا في "
"تحديد ما يضيفه التدريب: جيل أفضل للمرشحين، أو قرارات أفضل بعد التعليقات، أو "
"كليهما."
#: website/public/blog/reverse-engineering-models/index.html:476
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Learning the next useful experiment"
msgstr "تعلم التجربة المفيدة التالية"
#: website/public/blog/reverse-engineering-models/index.html:477
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Those decisions after feedback are what I would most like to study. In "
"agentic reconstruction, the model proposes an explanation and tests it "
"against the program. Even when the candidate fails, the result can narrow "
"the remaining possibilities and suggest a more useful next experiment."
msgstr ""
"تلك القرارات بعد ردود الفعل هي أكثر ما أرغب في دراسته. في إعادة البناء "
"الوكيل، يقترح النموذج تفسيرًا ويختبره مقابل البرنامج. وحتى عندما يفشل الكود "
"المصدري المرشح، فإن النتيجة يمكن أن تضيق الاحتمالات المتبقية وتقترح تجربة "
"تالية أكثر فائدة."
#: website/public/blog/reverse-engineering-models/index.html:484
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Consider the temporary-results example again. Its final source shows the "
"arrangement that worked, but the route to that source contains more "
"information. Each of the following experiments helped identify what still "
"needed to change."
msgstr ""
"خذ بعين الاعتبار مثال النتائج المؤقتة مرة أخرى. يُظهر مصدره النهائي الترتيب "
"الذي نجح، لكن المسار إلى هذا المصدر يحتوي على مزيد من المعلومات. ساعدت كل "
"تجربة من التجارب التالية في تحديد ما لا يزال بحاجة إلى التغيير."
#: website/public/blog/reverse-engineering-models/index.html:497
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Experiment"
msgstr "تجربة"
#: website/public/blog/reverse-engineering-models/index.html:498
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "What its result taught us"
msgstr "ماذا علمتنا نتيجته"
#: website/public/blog/reverse-engineering-models/index.html:503
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Try a different way to copy the results"
msgstr "جرب طريقة مختلفة لنسخ النتائج"
#: website/public/blog/reverse-engineering-models/index.html:504
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "The copy code changes, but the function still differs."
msgstr "يتغير رمز النسخ، لكن الوظيفة لا تزال مختلفة."
#: website/public/blog/reverse-engineering-models/index.html:509
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Use the returned values directly"
msgstr "استخدم القيم التي تم إرجاعها مباشرة"
#: website/public/blog/reverse-engineering-models/index.html:510
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Copying follows the original pattern, but temporary storage still differs."
msgstr "يتبع النسخ النمط الأصلي، لكن التخزين المؤقت لا يزال مختلفًا."
#: website/public/blog/reverse-engineering-models/index.html:516
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Keep the temporary results alive together"
msgstr "إبقاء كافة المتغيرات المؤقتة صالحة في نفس الوقت"
#: website/public/blog/reverse-engineering-models/index.html:517
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"They get separate storage, but one still overlaps a value used later for "
"collision checks."
msgstr ""
"يحصلون على مساحة تخزين منفصلة، ولكن لا يزال هناك تداخل مع قيمة يتم استخدامها"
" لاحقًا للتحقق من التصادم."
#: website/public/blog/reverse-engineering-models/index.html:523
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Keep the collision-check value separate"
msgstr "احتفظ بقيمة التحقق من التصادم منفصلة"
#: website/public/blog/reverse-engineering-models/index.html:524
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "A clean rebuild confirms the complete match."
msgstr "تؤكد إعادة الترجمة النظيفة من المصدر التطابق الكامل."
#: website/public/blog/reverse-engineering-models/index.html:529
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Selected experiments from the attack-function reconstruction above, grouped "
"by what they taught us."
msgstr ""
"تجارب مختارة من إعادة بناء وظيفة الهجوم أعلاه، مجمعة حسب ما علمتنا إياه."
#: website/public/blog/reverse-engineering-models/index.html:533
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"A training record that keeps this sequence can teach more than the final "
"source alone. It connects each proposed change to an observed result and the"
" next decision. Keeping ineffective variations matters too: they tell a "
"later agent which hypotheses have already been tested in that context."
msgstr ""
"يمكن لسجل التدريب الذي يحتفظ بهذا التسلسل أن يعلم أكثر من المصدر النهائي "
"وحده. فهو يربط كل تغيير مقترح بالنتيجة الملحوظة والقرار التالي. إن الاحتفاظ "
"بالتغيرات غير الفعالة أمر مهم أيضًا: فهي تخبر وكيلًا لاحقًا بالفرضيات التي "
"تم اختبارها بالفعل في هذا السياق."
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:540
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}I would want the model to learn how to use feedback.{ph1} A neutral "
"result is a reason to reconsider the variation; a changed mismatch may point"
" to another cause. When local edits stop being informative, the agent should"
" be able to revisit the source representation or inspect the evidence again."
msgstr ""
"{ph0}أريد أن يتعلم النموذج كيفية استخدام التعليقات.{ph1} النتيجة المحايدة هي"
" سبب لإعادة النظر في الشكل؛ قد يشير عدم التطابق المتغير إلى سبب آخر. عندما "
"تتوقف التعديلات المحلية عن تقديم المعلومات، يجب أن يكون الوكيل قادرًا على "
"إعادة النظر في تمثيل المصدر أو فحص الأدلة مرة أخرى."
#: website/public/blog/reverse-engineering-models/index.html:549
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Learning to make those choices requires autonomy. Sometimes the useful next "
"step is inspecting another caller rather than compiling another edit. A "
"rigid sequence of required rewrites would remove that choice, along with "
"part of the behavior we want the model to learn."
msgstr ""
"تعلم هذه الاختيارات يتطلب الاستقلالية. أحيانًا تكون الخطوة الأنسب فحص دالة "
"أخرى تستدعي هذه الدالة بدل ترجمة تعديل جديد. فرض سلسلة جامدة من إعادة "
"الكتابة يلغي هذا الاختيار ومعه جزءًا من السلوك الذي نريد أن يتعلمه النموذج."
#: website/public/blog/reverse-engineering-models/index.html:558
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Why RE is interesting for reinforcement learning"
msgstr "لماذا تعتبر الهندسة العكسية مثيرة للاهتمام للتعلم المعزز"
#: website/public/blog/reverse-engineering-models/index.html:559
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Bounded reconstruction gives us a practical environment for studying these "
"choices. Once the target and compiler are pinned, many source experiments "
"produce quick, repeatable feedback. The agent can compile a candidate, "
"inspect the mismatch and use that observation to choose its next step."
msgstr ""
"توفر إعادة البناء ذات النطاق المحدد بيئة عملية لدراسة هذه القرارات. بعد "
"تثبيت إصدارات الهدف والمترجم البرمجي، تعطي تجارب كثيرة على الشيفرة ملاحظات "
"سريعة وقابلة للتكرار. يستطيع الوكيل ترجمة شيفرة مرشحة وفحص الفروق ثم اختيار "
"الخطوة التالية."
#: website/public/blog/reverse-engineering-models/index.html:566
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Reinforcement learning could train that decision-making process through the "
"feedback it receives. A candidate accepted by a defined check gives us a "
"concrete outcome, while the sequence of attempts lets us observe how much "
"work it took to reach it."
msgstr ""
"يمكن للتعلم المعزز تدريب عملية صنع القرار من خلال ردود الفعل التي تتلقاها. "
"يمنحنا المرشح الذي يتم قبوله عن طريق فحص محدد نتيجة ملموسة، في حين يتيح لنا "
"تسلسل المحاولات ملاحظة مقدار العمل الذي استغرقه الوصول إلى هذه النتيجة."
#. {ph0}: <a href="https://aclanthology.org/2024.emnlp-main.203/" >
#. {ph1}: </a >
#. {ph2}: <a href="https://arxiv.org/html/2606.16162v1">
#. {ph3}: </a>
#: website/public/blog/reverse-engineering-models/index.html:572
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"There is already research supporting this direction. {ph0}LLM4Decompile{ph1}"
" studies models specialized for decompilation. {ph2}AutoDecompiler{ph3} "
"trains multi-turn refinement using compiler and execution feedback. Their "
"studies focus on functional recovery. For this work, I would use them as a "
"starting point for the related task of finding source that matches a "
"historical compiler's output."
msgstr ""
"هناك أبحاث تدعم هذا الاتجاه بالفعل. يدرس {ph0}LLM4Decompile{ph1} نماذج "
"متخصصة في استعادة الشيفرة المصدرية من البرامج المترجمة. ويستخدم "
"{ph2}AutoDecompiler{ph3} نتائج الترجمة والتنفيذ لتدريب التحسين عبر جولات "
"متعددة. تركز هذه الدراسات على استعادة سلوك البرنامج. سأستخدمها نقطة بداية "
"لمهمة قريبة: إيجاد شيفرة تنتج مخرجات مطابقة لمترجم برمجي تاريخي."
#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th08/commit/af9cb1d3e839b15a78b47ac1701506083cc82847"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:584
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"To reach such a well-defined task, though, we may first need to establish "
"what a function owns or devise a new runtime measurement. In TH08, for "
"example, a {ph0}collision difference led back to how the original program "
"handled floating-point calculations{ph1}. Before the agent could test a "
"useful correction, it had to work out what to measure."
msgstr ""
"للوصول إلى مثل هذه المهمة المحددة جيدًا، قد نحتاج أولاً إلى تحديد الموارد "
"التي تمتلكها الوظيفة أو ابتكار طريقة جديدة لملاحظة سلوك البرنامج أثناء "
"تشغيله. في TH08، على سبيل المثال، {ph0}أدى اختلاف التصادم إلى كيفية تعامل "
"البرنامج الأصلي مع حسابات الفاصلة العائمة{ph1}. قبل أن يتمكن الوكيل من "
"اختبار تصحيح مفيد، كان عليه أن يحدد ما يجب قياسه."
#: website/public/blog/reverse-engineering-models/index.html:595
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"This suggests another role for a broadly capable model: helping make the "
"problem checkable in the first place. Once that check exists, we can "
"investigate how far a learned search policy can get with it."
msgstr ""
"ويشير هذا إلى دور آخر لنموذج قادر على نطاق واسع: المساعدة في جعل المشكلة "
"قابلة للتحقق في المقام الأول. بمجرد وجود هذا الفحص، يمكننا التحقيق في المدى "
"الذي يمكن أن تصل إليه سياسة البحث المستفادة."
#: website/public/blog/reverse-engineering-models/index.html:603
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "When the oracle is wrong"
msgstr "عندما يكون أداة التحقق خاطئًا"
#: website/public/blog/reverse-engineering-models/index.html:604
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Once we train against that check, its coverage becomes part of what the "
"model learns. I call the reference or checker an oracle. Even if it gives a "
"repeatable answer, we still need to understand what that answer covers."
msgstr ""
"عندما نستخدم فحصًا في التدريب، يصبح نطاقه جزءًا من بيئة التعلم. أسمي هذا "
"المرجع أو أداة التحقق oracle. حتى الإجابة القابلة للتكرار يجب فهمها في حدود "
"ما تتحقق منه فعلًا."
#: website/public/blog/reverse-engineering-models/index.html:610
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"TH08 showed how much can hide outside that coverage. Some reconstructed "
"functions passed their exact comparisons with wrong floating constants. The "
"comparator adjusted relocated addresses before checking instructions, but it"
" checked the values behind those addresses only when they had been "
"explicitly recorded for verification. Other literal references could pass "
"without their values being examined."
msgstr ""
"أظهر TH08 مقدار ما يمكن إخفاءه خارج تلك التغطية. اجتازت بعض الوظائف المعاد "
"بناؤها مقارناتها الدقيقة مع ثوابت عائمة خاطئة. قامت أداة المقارنة بتعديل "
"العناوين المنقولة قبل التحقق من التعليمات، ولكنها لم تتحقق من القيم الموجودة"
" خلف تلك العناوين إلا عندما تم تسجيلها بشكل صريح للتحقق منها. يمكن أن تمر "
"المراجع الحرفية الأخرى دون فحص قيمها."
#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th08/commit/a393f400786e4cc6cbb1000af0dad3276da12c78"
#. >
#. {ph1}: </a >
#. {ph2}: <code>1.0f</code>
#. {ph3}: <code>32.0f</code>
#: website/public/blog/reverse-engineering-models/index.html:619
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"To close that gap, a {ph0}wider audit{ph1} found incorrect constants in "
"functions that had already been accepted. In one calculation, the "
"reconstructed source added {ph2} where the original added {ph3}."
msgstr ""
"لسد هذه الفجوة، كشف {ph0}تدقيق أوسع{ph1} ثوابت خاطئة في دوال كانت قد اجتازت "
"التحقق. في إحدى العمليات الحسابية، أضافت الشيفرة المعاد بناؤها {ph2}، بينما "
"أضاف الأصل {ph3}."
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:629
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}A learner rewarded by the old check could learn to produce the wrong "
"reconstruction.{ph1} We had not trained an RL model against this oracle; the"
" observed failure was in the check itself. But using that check as a reward "
"would have made the same blind spot part of the learning environment."
msgstr ""
"{ph0}يمكن للنموذج الذي تمت مكافأته بفحص التحقق القديم أن يتعلم إنتاج إعادة "
"بناء غير صحيحة.{ph1} لم نقوم بتدريب نموذج RL باستخدام هذا المدقق. الفشل الذي"
" لاحظناه كان في الفحص نفسه. ولكن إذا استخدمناها كمكافأة، فإن نفس النقطة "
"العمياء ستصبح جزءًا من بيئة التعلم."
#. {ph0}: <a href="https://arxiv.org/html/2609.05370v1" >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:639
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"A functional test can have a similar blind spot. {ph0}Differential-fuzzing "
"research on LLM decompilers{ph1} has found behavior differences beyond the "
"supplied tests. Passing those tests therefore needs to be read in terms of "
"the cases they exercise, just as an instruction match needs to be read in "
"terms of the bytes and data it checks."
msgstr ""
"يمكن أن يحتوي الاختبار الوظيفي على نقطة عمياء مماثلة. {ph0}وجدت الأبحاث التي"
" تستخدم التشويش التفاضلي في برامج فك التشفير LLM{ph1} وجود اختلافات سلوكية "
"خارج الاختبارات المتوفرة. لذلك نحن بحاجة إلى فهم اختبار النجاح من حيث "
"الحالات التي يمارسها. وبالمثل، يجب فهم مطابقة التعليمات من حيث البايتات "
"والبيانات التي تتحقق منها."
#: website/public/blog/reverse-engineering-models/index.html:649
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Before using either kind of check as a reward, I would test it with "
"deliberate failures. I would also keep final acceptance outside the "
"candidate's editable source, so the model has to satisfy the check through "
"its reconstruction. Otherwise, something like a byte array copied from the "
"target could satisfy a naive score without recovering useful source."
msgstr ""
"قبل استخدام أي نوع من اختبارات التحقق كمكافأة، سأختبره بنتائج غير صحيحة "
"عمدًا. أود أيضًا أن أبقي القبول النهائي منفصلاً عن كود المصدر الذي يمكن "
"لعامل الذكاء الاصطناعي تحريره. يجب أن يجتاز النموذج التحقق من خلال إعادة "
"بناء البرنامج بشكل صحيح. وبخلاف ذلك، فإن مجرد نسخ مصفوفة بايت من الهدف يمكن "
"أن يخدع نظام تسجيل ساذج دون استعادة كود المصدر المفيد."
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:657
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}Improving the learner and improving its oracle belong to the same "
"research problem.{ph1} As the learner gets better at optimizing the feedback"
" we give it, understanding that feedback becomes more important too."
msgstr ""
"{ph0}إن تحسين المتعلم وتحسين أداة التحقق من الصحة ينتميان إلى نفس مشكلة "
"البحث.{ph1} ومع تحسن المتعلم في تحسين التعليقات التي نقدمها له، يصبح فهم هذه"
" التعليقات أكثر أهمية أيضًا."
#: website/public/blog/reverse-engineering-models/index.html:667
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "A comparison worth running"
msgstr "مقارنة تستحق التشغيل"
#: website/public/blog/reverse-engineering-models/index.html:668
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"With those checks in place, I would start the comparison on a fixed VC7.1 "
"task family. First, I would establish baselines for a strong general model "
"and a smaller one. Adding repository knowledge to the smaller model would "
"show what retrieval changes. From there, supervised specialization and an "
"RL-trained version would let us examine what training adds."
msgstr ""
"مع إجراء عمليات التحقق هذه، سأبدأ المقارنة على مجموعة مهام VC7.1 ثابتة. "
"أولاً، أود أن أضع خطوط أساس لنموذج قوي للذكاء الاصطناعي للأغراض العامة "
"ونموذج أصغر. إن إضافة معرفة المستودع إلى النموذج الأصغر سيُظهر تغييرات "
"الاسترجاع. ومن هنا، فإن التخصص الخاضع للإشراف والنسخة المدربة RL ستسمح لنا "
"بفحص ما يضيفه التدريب."
#: website/public/blog/reverse-engineering-models/index.html:676
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"To make those comparisons informative, each model would receive the same "
"target evidence and tools. For the training-specific comparisons, I would "
"keep the base model and available knowledge fixed as well. Repeated trials "
"would help distinguish a reliable search strategy from a lucky candidate."
msgstr ""
"ولجعل هذه المقارنات مفيدة، سيحصل كل نموذج على نفس الأدلة والأدوات المستهدفة."
" بالنسبة للمقارنات الخاصة بالتدريب، سأبقي النموذج الأساسي والمعرفة المتاحة "
"ثابتة أيضًا. من شأن التجارب المتكررة أن تساعد في التمييز بين استراتيجية "
"البحث الموثوقة والحل المرشح الذي ينجح بالصدفة."
#: website/public/blog/reverse-engineering-models/index.html:683
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"I would then separate two starting conditions: reconstructing a function "
"from its instructions, and closing the last few differences in maintained "
"source. A specialist might be excellent at the second task while a general "
"model does much of the work needed to reach it. Measuring them separately "
"would reveal that division of work."
msgstr ""
"سأفصل بعد ذلك شرطين للبدء: إعادة بناء دالة من تعليماتها، وإغلاق الاختلافات "
"القليلة الأخيرة في المصدر المحفوظ. قد يكون نموذج الذكاء الاصطناعي المتخصص "
"ممتازًا في المهمة الثانية، بينما يقوم نموذج الذكاء الاصطناعي للأغراض العامة "
"بالكثير من العمل اللازم للوصول إليه. وقياسها بشكل منفصل من شأنه أن يكشف عن "
"تقسيم العمل هذا."
#: website/public/blog/reverse-engineering-models/index.html:691
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Both tasks need genuinely held-out examples. Because related Touhou games "
"share engine code, holding out a game's name would still allow nearly "
"identical functions to appear in training. I would instead hold out source "
"families and keep their accepted answers out of both training and retrieval."
msgstr ""
"تحتاج كلتا المهمتين إلى أمثلة اختبارية مستثناة من التدريب والاسترجاع. ألعاب "
"Touhou ذات الصلة تشترك في رمز المحرك. قد يؤدي استبعاد لعبة واحدة من التدريب "
"إلى ترك وظائف متطابقة تقريبًا في مجموعة التدريب. بدلاً من ذلك، سأستبعد "
"مجموعات كاملة من أكواد المصدر ذات الصلة وأحتفظ بإجاباتها التي تم التحقق منها"
" خارج كل من بيانات التدريب ومكتبة الاسترجاع."
#: website/public/blog/reverse-engineering-models/index.html:698
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"On those examples, the outcome would be complete, independently validated "
"matches. Giving each model the same candidate or compile budget would help "
"compare search quality. Measuring elapsed time and total cost, including "
"compilation, would tell us whether that quality produces an efficient "
"workflow. Training costs would need their own accounting too."
msgstr ""
"بالنسبة لهذه الأمثلة، ستكون النتيجة تطابقات كاملة تم التحقق منها بشكل مستقل."
" من شأن الميزانيات المتساوية لمقترحات المرشحين أو محاولات التجميع أن تساعد "
"في مقارنة جودة البحث. إن قياس إجمالي الوقت والتكلفة، بما في ذلك التجميع، "
"سيُظهر ما إذا كانت هذه الجودة تنتج سير عمل فعالاً. وينبغي قياس تكاليف "
"التدريب بشكل منفصل."
#: website/public/blog/reverse-engineering-models/index.html:706
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Both views matter because a cheaper proposal can become an expensive "
"workflow if it causes more uninformative compiles. Conversely, a slower "
"model may pay for itself by finding a useful experiment sooner. The "
"comparison should capture those costs."
msgstr ""
"كلا القياسين مهمان. يمكن أن يؤدي الاقتراح الرخيص إلى سير عمل مكلف إذا تسبب "
"في المزيد من التجميعات التي لا تقدم معلومات مفيدة. وعلى العكس من ذلك، قد "
"يكون النموذج الأبطأ أكثر اقتصادا إذا وجد تجربة مفيدة في وقت أقرب. وينبغي أن "
"تشمل المقارنة هذه التكاليف."
#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/ab72fd77728293fc0beacfc656ca701b0e266016"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:712
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Counting accepted results also keeps intermediate progress in perspective. "
"One TH09 {ph0}replay-save candidate{ph1} looked promising because the "
"compiled function had the expected size, but a full comparison still found "
"substantial differences. Changes in how the compiler arranges instructions "
"can also make a candidate look closer without resolving the underlying "
"problem. Such diagnostics can guide the next experiment, but I would "
"validate any reward for \"getting closer\" against the full acceptance "
"check."
msgstr ""
"كما أن حساب النتائج المقبولة يحافظ على التقدم المتوسط في المنظور الصحيح. بدا"
" أحد مرشحات TH09 {ph0}replay-save{ph1} واعدًا لأن الدالة المترجمة لها الحجم "
"المتوقع، ولكن المقارنة الكاملة لا تزال تجد اختلافات جوهرية. إن التغييرات في "
"كيفية قيام المترجم بترتيب التعليمات يمكن أن تجعل المرشح يبدو أقرب دون حل "
"المشكلة الأساسية. يمكن لمثل هذه التشخيصات أن توجه التجربة التالية، لكنني "
"سأؤكد صحة أي مكافأة مقابل \"الاقتراب\" مقابل فحص القبول الكامل."
#: website/public/blog/reverse-engineering-models/index.html:727
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"I would be interested in the pattern across these results. If a specialist "
"does well within a familiar compiler family, does that advantage survive a "
"toolchain change? And once both models have good retrieval, how much does "
"training still add? The answers would help us decide where each kind of "
"model is most useful."
msgstr ""
"سأكون مهتمًا بالنمط عبر هذه النتائج. إذا كان نموذج الذكاء الاصطناعي المتخصص "
"يعمل بشكل جيد ضمن عائلة المترجمات المألوفة، فهل ستصمد هذه الميزة بعد تغيير "
"سلسلة الأدوات؟ وبمجرد أن يتمتع كلا نموذجي الذكاء الاصطناعي بقدرة جيدة على "
"الاسترجاع، ما مقدار التدريب الذي سيضيفه؟ ستساعدنا الإجابات في تحديد المكان "
"الذي يكون فيه كل نوع من النماذج أكثر فائدة."
#: website/public/blog/reverse-engineering-models/index.html:736
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "What kind of agent does this suggest?"
msgstr "ما هو نوع وكيل الذكاء الاصطناعي الذي يشير إليه هذا؟"
#: website/public/blog/reverse-engineering-models/index.html:737
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"If the models turn out to help at different stages, a useful arrangement "
"might be a broad agent with access to a specialist. Once a task becomes a "
"familiar compiler search, it could ask the specialist for candidates. If the"
" results stop making sense, the broader agent could return to the target "
"evidence or investigate the measurement itself."
msgstr ""
"إذا تبين أن النماذج تساعد في مراحل مختلفة، فقد يكون الترتيب المفيد هو وكيل "
"واسع النطاق لديه إمكانية الوصول إلى نموذج متخصص للذكاء الاصطناعي. بمجرد أن "
"تصبح المهمة عبارة عن بحث مألوف للمترجم، يمكن أن تطلب نموذج الذكاء الاصطناعي "
"المتخصص للمرشحين. إذا لم تعد النتائج منطقية، فيمكن للعامل الأوسع العودة إلى "
"الدليل المستهدف أو التحقيق في القياس نفسه."
#: website/public/blog/reverse-engineering-models/index.html:745
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"In that arrangement, specialization becomes a tool the agent can choose as "
"the investigation develops. The agent keeps the freedom to change direction "
"that made the earlier breakthroughs possible."
msgstr ""
"وفي هذا الترتيب، يصبح التخصص أداة يمكن للعميل اختيارها مع تطور التحقيق. "
"يحتفظ الوكيل بحرية تغيير الاتجاه الذي جعل الاختراقات السابقة ممكنة."
#: website/public/blog/reverse-engineering-models/index.html:750
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"This follows naturally from the industrial shift I described in the previous"
" essay. Being able to run many more experiments changes how we organize the "
"work. It also gives us a reason to ask which decisions need broad judgment "
"and which improve through repeated experience with a particular craft."
msgstr ""
"ويأتي هذا بشكل طبيعي من التحول الصناعي الذي وصفته في المقالة السابقة. إن "
"القدرة على إجراء المزيد من التجارب تغير الطريقة التي ننظم بها العمل. كما أنه"
" يمنحنا سببًا للتساؤل عن القرارات التي تحتاج إلى حكم واسع النطاق وتلك التي "
"تتحسن من خلال الخبرة المتكررة في حرفة معينة."
#: website/public/blog/reverse-engineering-models/index.html:757
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"For now, the strongest general model has earned its place in my workflow by "
"opening problems I had left unresolved. Those successes are what make me "
"want to examine the work more closely: how much depended on the model's "
"breadth, and how much could be handled by a model trained in this particular"
" kind of reconstruction?"
msgstr ""
"حتى الآن، استحق أقوى نموذج عام مكانه في سير عملي لأنه حل مشكلات كنت قد "
"تركتها دون حل. وهذه النجاحات تدفعني إلى دراسة العملية: كم منها اعتمد على "
"اتساع قدراته، وكم يمكن أن يتولاه نموذج مدرب على هذا النوع من إعادة البناء؟"
#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:765
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}The repositories give us a way to test the question.{ph1} I would like "
"to use that record to build the comparison and see what we learn."
msgstr ""
"{ph0}توفر لنا المستودعات طريقة لاختبار السؤال.{ph1} أود استخدام هذا السجل "
"لإجراء المقارنة ومعرفة ما نتعلمه."
#: website/public/blog/reverse-engineering-models/index.html:775
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Evidence and model attribution"
msgstr "الأدلة وإسناد النموذج"
#: website/public/blog/reverse-engineering-models/index.html:783
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"The examples describe historical function-level comparisons recorded in the "
"linked commits. Whole-game runtime checks are separate milestones. Source "
"and matching records were reviewed on 13 October 2026."
msgstr ""
"تصف الأمثلة المقارنات التاريخية على مستوى الوظيفة المسجلة في الالتزامات "
"المرتبطة. تعتبر عمليات التحقق من وقت تشغيل اللعبة بأكملها بمثابة مراحل "
"منفصلة. تمت مراجعة سجلات المصدر والمطابقة في 13 أكتوبر 2026."
#. {ph0}: <code>gpt-dots</code>
#. {ph1}: <code>gpt-web</code>
#: website/public/blog/reverse-engineering-models/index.html:789
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"The TH09 label {ph0} identifies GPT-6-Astra. {ph1} changed with the model "
"used at the time, so that label alone does not identify an individual run. "
"Explicit model names in the other cited commits establish their recorded "
"attribution; the histories do not contain uniform per-run cost or effort "
"measurements."
msgstr ""
"التسمية TH09 {ph0} تعني GPT-6-Astra. تغير النموذج المرتبط بـ {ph1} بمرور "
"الوقت، لذا لا يمكن لهذه التسمية وحدها تحديد النموذج المستخدم في عملية تشغيل "
"معينة. توفر أسماء النماذج الصريحة في الكوميتات المذكورة الأخرى الإسناد "
"المسجل. لا تتضمن هذه السجلات قياسات متسقة للتكلفة أو الجهد لكل عملية تشغيل."
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/de63c0f9121963f3a6b1ab5471c4878625fd3425"
#. >
#. {ph3}: </a >
#. {ph4}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/52929ed7c299f1a5f29cc13964e22510145fd616"
#. >
#. {ph5}: </a >
#: website/public/blog/reverse-engineering-models/index.html:798
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}TH09 temporary lifetimes:{ph1} the {ph2}earlier context review{ph3} and"
" {ph4}complete cold reconstruction{ph5}."
msgstr ""
"{ph0}TH09 عمر الكائن المؤقت:{ph1} تم التحقق من {ph2}مراجعة السياق "
"السابقة{ph3} و{ph4}إعادة البناء الكاملة من خلال إعادة تجميع نظيفة من "
"المصدر{ph5}."
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/f8d12d72aaf02212ee1b585a8f3f86d7ed000269"
#. >
#. {ph3}: </a >
#. {ph4}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/da33a646221198ceb7f3df2b96e2ca0e9b2f705f"
#. >
#. {ph5}: </a >
#. {ph6}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/5f825b28a862f8e1a6d4aea2f78a42f04c09a1c0"
#. >
#. {ph7}: </a >
#: website/public/blog/reverse-engineering-models/index.html:810
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}TH09 Front callback:{ph1} {ph2}non-exact diagnostic regions{ph3}, "
"{ph4}Astra's new graph{ph5} and its {ph6}accepted recompile replay{ph7}."
msgstr ""
"{ph0}TH09 Front رد الاتصال:{ph1} {ph2}مناطق التشخيص التي لم تتطابق مع{ph3}، "
"والرسم البياني الجديد لتدفق التحكم في {ph4}Astra{ph5} و{ph6}فحص إعادة "
"الترجمة المقبول{ph7}."
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th095/commit/26bb64bdb093a13f73abd0ee8ae7ce199ee4658f"
#. >
#. {ph3}: </a >
#. {ph4}: <a
#. href="https://github.com/N0zoM1z0/th04/commit/6dce0a79d5b931f0e2a08475b90e0c33d2321b98"
#. >
#. {ph5}: </a >
#. {ph6}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/1eb843383941d00065622a9e353146c4bb96979e"
#. >
#. {ph7}: </a >
#: website/public/blog/reverse-engineering-models/index.html:826
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}Compiler knowledge:{ph1} {ph2}TH095 identifier-bucket reuse{ph3}, "
"{ph4}TH04 player source and linker order{ph5} and {ph6}Luna's TH09 enemy-"
"spawn closure{ph7}."
msgstr ""
"{ph0}معرفة المترجم:{ph1} {ph2}TH095 إعادة استخدام سلوك مجموعة المعرفات{ph3}،"
" {ph4}TH04 شيفرة اللاعب وترتيب الرابط{ph5} و{ph6}Luna إعادة البناء الكاملة "
"لوظيفة إنشاء العدو لـ TH09{ph7}."
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th08/commit/a393f400786e4cc6cbb1000af0dad3276da12c78"
#. >
#. {ph3}: </a >
#. {ph4}: <a
#. href="https://github.com/N0zoM1z0/th08/commit/af9cb1d3e839b15a78b47ac1701506083cc82847"
#. >
#. {ph5}: </a >
#. {ph6}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/ab72fd77728293fc0beacfc656ca701b0e266016"
#. >
#. {ph7}: </a >
#: website/public/blog/reverse-engineering-models/index.html:842
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}Checks and diagnostics:{ph1} {ph2}TH08 floating-literal audit{ph3}, "
"{ph4}TH08 numerical investigation{ph5} and {ph6}TH09 replay-save "
"reconstruction{ph7}."
msgstr ""
"{ph0}عمليات الفحص والتشخيص:{ph1} {ph2}TH08 التدقيق الثابت للفاصلة "
"العائمة{ph3}، و{ph4}TH08 التحقيق الرقمي{ph5} و{ph6}TH09 إعادة البناء مع "
"توفير إعادة التشغيل{ph7}."
#: website/public/blog/reverse-engineering-models/index.html:859
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"The proposed specialist and RL comparisons are future experiments. The "
"project histories motivate them; no trained specialist was evaluated for "
"this essay."
msgstr ""
"المقارنات المقترحة للنماذج المتخصصة والتدريب RL هي تجارب مستقبلية. تاريخ "
"المشروع يحفزهم. لم يتم تقييم أي نموذج متخصص مدرب لهذا المقال."
#: website/public/blog/reverse-engineering-models/index.html:6
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Does reverse engineering need a bigger model? | REA"
msgstr "هل تحتاج الهندسة العكسية إلى نموذج أكبر؟ | REA"
#: website/public/blog/reverse-engineering-models/index.html:7
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"What Touhou reconstruction taught me about general models, specialist models"
" and learning to propose better hypotheses from compiler feedback."
msgstr ""
"ما تعلمته من إعادة بناء Touhou عن النماذج العامة والمتخصصة، وعن تعلم اقتراح "
"فرضيات أفضل من ملاحظات المترجم البرمجي."
#: website/public/blog/reverse-engineering-models/index.html:240
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "On this page"
msgstr "في هذه الصفحة"
#: website/public/blog/reverse-engineering-models/index.html:253
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Models and reverse engineering essay"
msgstr "النماذج والهندسة العكسية مقال"
#: website/public/blog/reverse-engineering-models/index.html:491
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Selected reconstruction experiments"
msgstr "تجارب إعادة بناء الشيفرة المختارة"
#: website/public/blog/reverse-engineering-models/index.html:883
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Back to top"
msgstr "العودة للأعلى"
#. {ph0}: <a
#. href="https://github.com/morluto/rea/blob/main/website/evidence/reverse-
#. engineering-models.md" >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:776
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}Detailed evidence notes{ph1} include the recorded comparisons and "
"experiment context."
msgstr ""
"تتضمن {ph0}ملاحظات الأدلة التفصيلية{ph1} المقارنات المسجلة وسياق التجارب."
#~ msgctxt "page:blog/index.html"
#~ msgid "By N0zoM1z0 · 13 October 2026 · Draft for review"
#~ msgstr "بقلم N0zoM1z0 · 13 أكتوبر 2026 · مسودة للمراجعة"
#~ msgctxt "page:index.html"
#~ msgid "Setup guide"
#~ msgstr "دليل الإعداد"
#~ msgctxt "page:get-started/index.html"
#~ msgid "Windows PowerShell"
#~ msgstr "Windows PowerShell"
#~ msgctxt "page:get-started/index.html"
#~ msgid "macOS · Homebrew"
#~ msgstr "macOS · Homebrew"
#~ msgctxt "runtime"
#~ msgid "Copy"
#~ msgstr "نسخ"
#~ 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 "إعادة الإعمار * دينو السرعة.شبيبة"
#~ 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}الصفحة * العارض.شبيبة{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}جسر * التحميل المسبق.شبيبة{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}معالج * الرئيسية.شبيبة{ph1}{ph2}كتابة الملاحظات.كسف{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 للحصول على ملاحظة مع معرف 1 وعنوان مرحبا،\"REA\". "
#~ "ثم قم بتشغيل منسق توسف المثال مع 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} يطبع الإصدار 22.19+ أو الإصدار 24.11+ أو الإصدار 26+ ، فأنت جاهز. "
#~ "إذا قام بطباعة إصدار أقدم أو \"غير معروف\" / \"لم يتم العثور على الأمر\" ، "
#~ "فقم بالتثبيت 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}تحميل تصدير.شبيبة{ph3} · {ph4}تحميل "
#~ "الملاحظات.جسون{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}لماذا تعطي الآلة الحاسبة 220 عند حساب 200 + 10%؟{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 يقرأ احسب.إكس{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 لتفقد ايجيس-الإصدار 3.4.3.إيه بي كيه. ابحث عن "
#~ "كيفية إنشاء رمز تسجيل الدخول المكون من ستة أرقام ، واشرح سبب تغييره كل 30 "
#~ "ثانية ، وأعد بناء عرض توضيحي صغير حيث يمكنني تغيير الوقت.{ph3}{ph4}{ph5}"
#~ msgctxt "page:showcase/notion/index.html"
#~ msgid "tab_browser_view/preload.js · API member"
#~ msgstr "عرض/تحميل مسبق.جس * أبي عضو"
#~ msgctxt "page:showcase/notion/index.html"
#~ msgid "tab_browser_view/preload.js · IPC helper"
#~ msgstr "عرض/تحميل مسبق.شبيبة * إيبك مساعد"
#~ msgctxt "page:showcase/notion/index.html"
#~ msgid "main/index.js · handler helper"
#~ msgstr "الرئيسية / فهرس.شبيبة * معالج مساعد"
#~ msgctxt "page:showcase/notion/index.html"
#~ msgid "main/index.js · clipboard receiver"
#~ msgstr "الرئيسية / فهرس.شبيبة * الحافظة استقبال"
#~ msgctxt "page:first-investigation/index.html"
#~ msgid "main.js · lines 8–12"
#~ msgstr "الرئيسية.الخطوط 8-12"
#~ msgctxt "page:guides/browser/index.html"
#~ msgid "export.js · example source excerpt"
#~ msgstr "تصدير.شبيبة * مثال مقتطفات المصدر"
#~ msgctxt "page:guides/javascript/index.html"
#~ msgid "renderer.js · example source"
#~ msgstr "العارض.شبيبة * مثال المصدر"
#~ msgctxt "page:guides/javascript/index.html"
#~ msgid "preload.js · example source"
#~ msgstr "التحميل المسبق.شبيبة * مثال المصدر"
#~ msgctxt "page:guides/javascript/index.html"
#~ msgid "main.js · example source"
#~ msgstr "الرئيسية.شبيبة * مثال المصدر"
#~ msgctxt "page:index.html"
#~ msgid "REA · loaded index.js · selected lines"
#~ msgstr "REA * مؤشر تحميل.شبيبة * خطوط مختارة"
#, 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 ريا "
#~ "وكلاء@أحدث الإعداد. أرني خطة الإعداد للموافقة عليها ، ثم تحقق من "
#~ "التثبيت.{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 للعثور على ما يحدث عند النقر فوق تصدير "
#~ "الملاحظات. تظهر فيها الملاحظات.هو مكتوب كسف ، الحقول التي يحتوي عليها ، "
#~ "والملفات والخطوط ذات الصلة.{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 ريا "
#~ "وكلاء@أحدث الإعداد. أرني خطة الإعداد للموافقة عليها ، ثم تحقق من "
#~ "التثبيت.{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 ريا "
#~ "وكلاء@أحدث الإعداد. أرني خطة الإعداد للموافقة عليها ، ثم تحقق من "
#~ "التثبيت.{ph3}{ph4}{ph5}"
#~ msgctxt "page:index.html"
#~ msgid "0x5b"
#~ msgstr "0 * 5 ب"
#~ msgctxt "page:index.html"
#~ msgid "0x5c"
#~ msgstr "0 * 5 سي"
#~ msgctxt "page:index.html"
#~ msgid "0x64"
#~ msgstr "0 * 64"
#, 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 "0 * 00406400"
#~ msgctxt "figure:dx-ball-sound-pan-investigation.svg"
#~ msgid "× pan_scale"
#~ msgstr " pan مقياس عموم"
#, 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 ""