14483 lines
595 KiB
Plaintext
14483 lines
595 KiB
Plaintext
#
|
||
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\<you>\AppData\Local\Programs\<App>\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/<App>.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/<App>/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 ""
|