14842 lines
542 KiB
Plaintext
14842 lines
542 KiB
Plaintext
#
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: REA website\n"
|
||
"Language: id\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 "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / Blog"
|
||
|
||
#: website/public/blog/index.html:195
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Blog."
|
||
msgstr "Blog."
|
||
|
||
#: website/public/blog/index.html:196
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Thoughts on reverse engineering."
|
||
msgstr "Pemikiran tentang rekayasa terbalik."
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/blog/index.html:214
|
||
#, python-brace-format
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Game reconstruction{ph0}Essay"
|
||
msgstr "Rekonstruksi permainan{ph0}Esai"
|
||
|
||
#: website/public/blog/index.html:216
|
||
msgctxt "page:blog/index.html"
|
||
msgid "The industrial revolution in reverse engineering"
|
||
msgstr "Revolusi industri dalam rekayasa terbalik"
|
||
|
||
#: 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 ""
|
||
"Apa yang diajarkan manual dan rekonstruksi TH08, TH095, dan TH04 kepada saya"
|
||
" tentang agen, verifikasi, dan pengetahuan yang digabungkan di seluruh "
|
||
"proyek."
|
||
|
||
#: website/public/blog/index.html:207 website/public/blog/index.html:222
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Read the article"
|
||
msgstr "Baca artikelnya"
|
||
|
||
#: website/public/blog/index.html:225
|
||
msgctxt "page:blog/index.html"
|
||
msgid "By N0zoM1z0 · 10 October 2026"
|
||
msgstr "Oleh N0zoM1z0 · 10 Oktober 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} Atas"
|
||
|
||
#: website/public/blog/index.html:6
|
||
msgctxt "page:blog/index.html"
|
||
msgid "REA Blog — Thoughts on Reverse Engineering"
|
||
msgstr "Blog REA-Pemikiran tentang Rekayasa Balik"
|
||
|
||
#: 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 ""
|
||
"Pemikiran tentang rekayasa balik, berdasarkan pengalaman praktis dengan agen"
|
||
" REA dan AI."
|
||
|
||
#: 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-Cari tahu cara kerja perangkat lunak. Rekayasa balik dengan agen "
|
||
"pengkodean Anda."
|
||
|
||
#: 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 "Beranda 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 "Navigasi utama"
|
||
|
||
#: 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 di 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 "Gabung REA di 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 "Ikuti REA di X"
|
||
|
||
#: website/public/blog/index.html:244
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:103
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / {ph2}Blog{ph3} / Rekonstruksi Touhou"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:198
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Essay · Touhou reconstruction"
|
||
msgstr "Essay * Rekonstruksi Touhou"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:199
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "The industrial revolution in reverse engineering."
|
||
msgstr "Revolusi industri dalam rekayasa terbalik."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:200
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "By N0zoM1z0 · 10 October 2026"
|
||
msgstr "Oleh N0zoM1z0 · 10 Oktober 2026"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:202
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Takeaway"
|
||
msgstr "Poin utama"
|
||
|
||
#. {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}Berikan otonomi kepada agen atas penyelidikan.{ph1} Tetapkan tujuan dan"
|
||
" kriteria penerimaan yang jelas, lalu biarkan agen memutuskan apa yang akan "
|
||
"dicoba selanjutnya."
|
||
|
||
#. {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}Gunakan repositori dan Git sebagai memori kerja.{ph1} Pertahankan "
|
||
"alasannya dengan kodenya. Titik pemeriksaan Git memungkinkan sesi berikutnya"
|
||
" berlanjut setelah percakapan berakhir."
|
||
|
||
#. {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}Biarkan bukti memutuskan apa yang Anda klaim.{ph1} Penjelasan yang "
|
||
"meyakinkan masih perlu diuji. \"Tidak diketahui\" adalah jawaban yang valid "
|
||
"jika buktinya tidak lengkap."
|
||
|
||
#. {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}Uji referensi verifikasi (oracle) juga.{ph1} Coba kasus yang harus "
|
||
"ditolak. Jika melewatkan bug, kunjungi kembali hasil sebelumnya yang "
|
||
"bergantung padanya."
|
||
|
||
#. {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}Kita berada di masa-masa awal revolusi industri RE.{ph1} Metodenya "
|
||
"masih terbentuk. Ada banyak hal yang tersisa untuk dijelajahi."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:236
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "How experience compounds"
|
||
msgstr "Bagaimana pengalaman senyawa"
|
||
|
||
#. {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}Arah manusia{ph1} * Tujuan dan kriteria penerimaan"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:325
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Autonomy"
|
||
msgstr "Otonomi"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:326
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Agent"
|
||
msgstr "Agen"
|
||
|
||
#. {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 "Pilih eksperimen.{ph0}Mengajukan hipotesis."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:330
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Verification"
|
||
msgstr "Verifikasi"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:331
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Oracle"
|
||
msgstr "Acuan verifikasi"
|
||
|
||
#. {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 "Uji terhadap a{ph0}referensi konkret."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:335
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Repository"
|
||
msgstr "Repositori"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:336
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Working memory"
|
||
msgstr "Memori kerja"
|
||
|
||
#. {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 "Kode, bukti,{ph0}cek dan pelajaran."
|
||
|
||
#. {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 "Ketidakcocokan{ph0}{ph1}Merevisi hipotesis{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 "Yang lebih baik{ph0}{ph1}titik awal{ph2}"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:345
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Reuse"
|
||
msgstr "Penggunaan kembali"
|
||
|
||
#. {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}Lulus{ph1} * Simpan hasil dan buktinya"
|
||
|
||
#: 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 ""
|
||
"Setiap proyek meninggalkan proyek berikutnya dengan titik awal yang lebih "
|
||
"baik. Itu termasuk memperbaiki pemeriksaan saat kami menemukan celah."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:365
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "In this article"
|
||
msgstr "Dalam artikel ini"
|
||
|
||
#. {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}Agustus 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: kelanjutan{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}Dua pendekatan{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: penggabungan{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: lintas arsitektur{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}Dari tepat hingga dapat dibaca{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}Pergeseran industri{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}Apa yang menjadi mungkin{ph1}"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:381
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "What changed in August 2026"
|
||
msgstr "Apa yang berubah pada Agustus 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 ""
|
||
"Sebelum pekerjaan ini, saya telah melakukan banyak rekayasa balik manual. "
|
||
"Saya akan memeriksa suatu fungsi sampai saya memiliki penjelasan, lalu "
|
||
"menguji penjelasan itu terhadap program. Melangkah lebih jauh berarti "
|
||
"menghabiskan lebih banyak waktu saya sendiri untuk acara berikutnya. Itu "
|
||
"juga berarti menyimpan gambaran yang semakin besar di kepala saya."
|
||
|
||
#: 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 ""
|
||
"Sebagian besar pekerjaan saya adalah pada permainan. Saya merekonstruksinya "
|
||
"sehingga perilakunya dapat dipahami dan akhirnya dibawa ke port perangkat "
|
||
"lunak atau mod. Itulah pengalaman di balik artikel ini. Metode ini dapat "
|
||
"berguna di tempat lain, tetapi setiap bidang perlu menetapkan apa yang dapat"
|
||
" diperiksa terhadap referensi yang andal."
|
||
|
||
#: 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 ""
|
||
"Pada Agustus 2026, saya mulai serius mengeksplorasi RE yang digerakkan oleh "
|
||
"agen. Saya ingin melihat seberapa jauh seorang agen dapat memperoleh akses "
|
||
"ke program dan alat pengembangan biasa. Rekonstruksi Touhou memberi saya "
|
||
"sebuah proyek besar untuk mencari tahu."
|
||
|
||
#: 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 ""
|
||
"Kemajuan awal sangat mengejutkan. Penyelidikan bisa terus berjalan tanpa "
|
||
"saya memilih setiap langkah individu. Perbandingan yang gagal mungkin "
|
||
"mengirim agen ke penelepon lain. Itu bisa menulis diagnostik kecil dan "
|
||
"menggunakan hasilnya untuk memutuskan apa yang harus dicoba selanjutnya. "
|
||
"Memberikan kebebasan itu membuat perbedaan: Saya dapat memberikan lebih "
|
||
"banyak perhatian pada arah proyek dan apakah pemeriksaannya dapat dipercaya."
|
||
|
||
#: 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 ""
|
||
"Langkahnya menarik perhatian saya terlebih dahulu. Kemudian saya mulai "
|
||
"bertanya-tanya apa yang akan bertahan di luar proyek saat ini. Akankah "
|
||
"pertandingan berikutnya mendapat manfaat dari semua yang baru saja kita "
|
||
"pelajari?"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:418
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "TH08: building on human work"
|
||
msgstr "TH08: membangun pekerjaan manusia"
|
||
|
||
#. {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}, Malam yang Tidak Dapat Binasa, dimulai sebagai kelanjutan "
|
||
"dari {ph2} Rekonstruksi GensokyoClub{ph3}. Sumber publik mereka memberi saya"
|
||
" landasan yang kuat. Itu datang dengan pengetahuan tentang bangunan dan "
|
||
"sejarah kontribusi yang saya simpan dalam kelanjutannya."
|
||
|
||
#: 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 ""
|
||
"Riwayat yang diimpor berakhir di pos pemeriksaan publik 10 Agustus. "
|
||
"Kelanjutan independen saya dimulai pada 13 Agustus. Pada 19 Agustus, buku "
|
||
"besar mencatat sumber untuk semua 1.107 fungsi permainan yang "
|
||
"teridentifikasi."
|
||
|
||
#: 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 ""
|
||
"Port rekonstruksi Linux yang dapat dimainkan dilakukan pada 24 Agustus, "
|
||
"kira-kira sebelas hari setelah kelanjutan dimulai. Edisi Web menyusul. Rilis"
|
||
" asli Linux 64-bit tiba pada 30 Agustus."
|
||
|
||
#: 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 ""
|
||
"Yang mengejutkan saya adalah bahwa pekerjaan itu telah mencapai program yang"
|
||
" dapat dijalankan oleh orang-orang. Untuk sampai ke sana diperlukan masalah-"
|
||
"masalah berikut di luar fungsi individu. Bahkan ketika dua fungsi terlihat "
|
||
"benar secara terpisah, mereka dapat secara tidak sengaja menggunakan salinan"
|
||
" status terpisah yang seharusnya dibagikan."
|
||
|
||
#. {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 ""
|
||
"Ini membuat pemeriksaan referensi menjadi pusat pekerjaan. Saya menyebutnya "
|
||
"mereka {ph0}referensi verifikasi (orakel){ph1}. Perbandingan kode dapat "
|
||
"memberi tahu kita apakah fungsi yang direkonstruksi mereproduksi instruksi "
|
||
"asli. Pemeriksaan runtime dapat memberi tahu kami apakah rute yang "
|
||
"dijalankan mencapai status yang diharapkan. Agen mengusulkan penjelasan dan "
|
||
"mengujinya; ketidakcocokan memberinya sesuatu yang spesifik untuk "
|
||
"diselidiki."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:453
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "An exact match with the wrong constant"
|
||
msgstr "Pencocokan tepat dengan konstanta yang salah"
|
||
|
||
#: 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 ""
|
||
"Referensi verifikasi (oracle) adalah perangkat lunak yang ditulis seseorang."
|
||
" TH08 memberi saya pengingat yang jelas tentang seberapa banyak yang dapat "
|
||
"bergantung pada perangkat lunak itu."
|
||
|
||
#. {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 ""
|
||
"Pada bulan September, bug yang dilaporkan oleh port Sakelar hilir "
|
||
"menyebabkan kembali ke pengumpulan otomatis item. Sumber yang direkonstruksi"
|
||
" memeriksa kekuatan pemain terhadap {ph0}. Yang asli digunakan {ph1}, ambang"
|
||
" batas daya maksimum."
|
||
|
||
#: 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 ""
|
||
"Daya normal adalah non-negatif, sehingga pemeriksaan daya yang "
|
||
"direkonstruksi secara efektif selalu terpenuhi. Di atas garis koleksi, game "
|
||
"dapat menarik item tanpa membutuhkan daya maksimum. Pengecualian lain dalam "
|
||
"kondisi itu benar. Konstanta yang satu ini mengubah perilakunya."
|
||
|
||
#. {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}Namun fungsi tersebut telah melewati perbandingan yang tepat.{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 ""
|
||
"Pembangunan kembali dapat menempatkan konstanta di alamat yang berbeda. Alat"
|
||
" perbandingan memperhitungkannya dengan menyesuaikan alamat dalam instruksi "
|
||
"yang dikompilasi sebelum membandingkannya dengan aslinya. Tapi itu tidak "
|
||
"pernah memeriksa nilai floating-point yang disimpan di alamat yang "
|
||
"direferensikan."
|
||
|
||
#. {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 ""
|
||
"Itu meninggalkan lubang di cek. Itu bisa mengarahkan instruksi yang "
|
||
"direkonstruksi ke instruksi aslinya {ph0} sementara sumbernya masih "
|
||
"mengatakan {ph1}. Byte instruksi cocok. Sumbernya berarti sesuatu yang "
|
||
"berbeda."
|
||
|
||
#. {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 ""
|
||
"The {ph0}Perbaikan 2 September{ph1} mengoreksi sumber dan membuat "
|
||
"perbandingan memeriksa byte aktual konstanta yang direferensikan. A "
|
||
"{ph2}audit yang lebih luas{ph3} kemudian diperiksa 1.548 referensi konstanta"
|
||
" floating-point. Itu menemukan dua belas referensi yang salah di lima fungsi"
|
||
" yang diterima."
|
||
|
||
#: 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 ""
|
||
"Perbandingan sekarang memeriksa setiap konstanta floating-point tersebut. "
|
||
"Pengujiannya mencakup nilai yang sengaja salah untuk memastikannya ditolak. "
|
||
"Kami juga harus meninjau kembali hasil yang telah lolos dari pemeriksaan "
|
||
"yang lebih lemah."
|
||
|
||
#. {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}Referensi verifikasi (oracle) juga perlu direkonstruksi.{ph1} "
|
||
"Memperbaikinya adalah bagian dari memperbaiki permainan."
|
||
|
||
#: 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 ""
|
||
"Itu penting ketika tim sebagian besar terdiri dari satu orang yang bekerja "
|
||
"dengan agen. Saya tidak dapat secara pribadi memeriksa setiap lini yang "
|
||
"mereka hasilkan, begitu banyak kepercayaan diri saya terletak pada "
|
||
"pemeriksaan mereka. Titik buta referensi verifikasi bersama (oracle) dapat "
|
||
"memengaruhi banyak penyelidikan sebelum saya menyadarinya. Saya harus "
|
||
"memahami apa yang sebenarnya diverifikasi oleh pemeriksa dan mengujinya "
|
||
"terhadap kasus-kasus yang seharusnya gagal."
|
||
|
||
#. {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 ""
|
||
"Saat pekerjaan berlanjut, pemeriksaan tersebut menjadi bagian dari "
|
||
"repositori. Begitu pula alasan perubahan sumber dan catatan yang "
|
||
"memungkinkan sesi selanjutnya dilanjutkan di tempat sesi sebelumnya "
|
||
"dihentikan. {ph0}Repositori kode sumber menjadi memori kerja proyek.{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}Batch yang berhasil memberi kami kode yang dipulihkan dan lingkungan "
|
||
"yang lebih baik untuk batch berikutnya.{ph1}"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:535
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Two different ideas of reconstruction"
|
||
msgstr "Dua gagasan rekonstruksi yang berbeda"
|
||
|
||
#. {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}README publik{ph1} membuat ketidaksetujuannya dengan jenis"
|
||
" pekerjaan ini menjadi eksplisit. Pemberitahuan tersebut mengumumkan bahwa "
|
||
"pengembangan lebih lanjut akan dilakukan secara pribadi hingga selesai. Satu"
|
||
" bagian berbunyi:"
|
||
|
||
#: 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 ""
|
||
"Munculnya grifters (AI decompilations and ports) di ruang ini yang diambil "
|
||
"dari pekerjaan kami memberikan gambaran yang buruk untuk upaya dekompilasi "
|
||
"di masa mendatang…"
|
||
|
||
#: 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 ""
|
||
"Pemberitahuan tersebut juga menjelaskan dampak psikologis pada pengelola. "
|
||
"Kebijakan kontribusi mereka mengecualikan permintaan tarik yang dihasilkan "
|
||
"terutama dengan AI. Mereka telah mencurahkan waktu luang mereka untuk "
|
||
"pekerjaan yang sulit, dan pekerjaan itu membantu memungkinkan kelanjutan "
|
||
"saya. Saya menghargai upaya di baliknya. Ketidaksepakatan yang ingin saya "
|
||
"diskusikan adalah tentang bagaimana rekonstruksi harus dilanjutkan dan "
|
||
"bagaimana kontribusi harus dinilai."
|
||
|
||
#: 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 ""
|
||
"Dalam alur kerja manual yang saya ketahui, mengembangkan pemahaman tentang "
|
||
"suatu fungsi dan merekonstruksinya biasanya jatuh ke tangan orang yang sama."
|
||
" Sebuah proyek sangat bergantung pada keahlian orang tersebut. Kepercayaan "
|
||
"pada kontributor menjadi penting karena begitu banyak alasan yang terjadi "
|
||
"saat mereka bekerja."
|
||
|
||
#: 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 ""
|
||
"Proyek yang ada sudah menyimpan pengetahuan dalam sumber dan alat "
|
||
"pembuatannya. Apa yang berubah bagi saya adalah bahwa seorang agen dapat "
|
||
"menggunakan pengetahuan itu untuk melanjutkan penyelidikan berikutnya dengan"
|
||
" sendirinya."
|
||
|
||
#: 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 ""
|
||
"Dalam kelanjutan saya, saya memutuskan tujuan dan standar untuk menerima "
|
||
"suatu hasil. Agen memiliki kebebasan luas untuk menyelidiki. Rekonstruksi "
|
||
"yang diusulkan kemudian harus bertahan dari pemeriksaan yang relevan. Saya "
|
||
"ingin orang lain dapat memeriksa mengapa kami memilih implementasi, bahkan "
|
||
"jika agen melakukan sebagian besar pekerjaan."
|
||
|
||
#: 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 ""
|
||
"Ini bisa menjadi transisi yang sulit. Kerja keras selama bertahun-tahun "
|
||
"dapat menjadi dasar bagi kelanjutan yang bergerak jauh lebih cepat. Itu "
|
||
"menimbulkan pertanyaan nyata tentang kredit. Ini juga mengubah apa yang "
|
||
"perlu diketahui pengelola sebelum menerima kontribusi."
|
||
|
||
#: 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 ""
|
||
"Analogi industri membantu saya memikirkan hal ini. Dalam sebuah kerajinan, "
|
||
"sebagian besar prosesnya bergantung pada keterampilan orang yang "
|
||
"melakukannya. Mesin berubah di mana keterampilan itu dibutuhkan. Seseorang "
|
||
"masih harus merancang prosesnya dan mengenali kapan hasilnya salah. "
|
||
"Komunitas yang berbeda dapat memilih seberapa banyak perubahan yang ingin "
|
||
"mereka lakukan."
|
||
|
||
#: 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 ""
|
||
"Pilihan saya adalah melanjutkan secara terbuka, dengan karya warisan "
|
||
"dikreditkan dan sejarahnya dilestarikan. Saya ingin karya baru ini dapat "
|
||
"ditinjau kembali. Itu memberi kita cara untuk bertanya seberapa jauh "
|
||
"pendekatan ini bisa berjalan dan belajar dari apa yang salah di sepanjang "
|
||
"jalan."
|
||
|
||
#. {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 ""
|
||
"Sumber: GensokyoClub {ph0}Pemberitahuan README{ph1}, diperiksa pada 10 "
|
||
"Oktober 2026, dan {ph2}kebijakan kontribusi{ph3}. Kutipannya adalah kutipan "
|
||
"singkat. TH08 {ph4}kredit dan asalnya{ph5} catat batas kelanjutannya."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:619
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "TH095: experience starts compounding"
|
||
msgstr "TH095: pengalaman mulai bertambah"
|
||
|
||
#. {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}, Tembak Pelurunya, membuat nilai dari pengalaman itu lebih"
|
||
" mudah dilihat. Repositorinya dimulai pada 29 Agustus dengan nol fungsi game"
|
||
" yang dikonfirmasi di buku besar. Kami masih harus mempelajari permainannya."
|
||
" Tapi kami sudah tahu lebih banyak tentang bagaimana memulai rekonstruksi "
|
||
"dan bagaimana membuatnya tetap bergerak."
|
||
|
||
#: 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 ""
|
||
"Pada 7 September, semua 697 fungsi permainan yang teridentifikasi memiliki "
|
||
"sumber. Pada 8 September, 696 telah diterima sebagai perbandingan yang "
|
||
"tepat. Seluruh program terhubung pada 9 September. Rekonstruksi Windows i386"
|
||
" ditandai dapat dimainkan pada 10 September, sekitar dua belas hari setelah "
|
||
"inisialisasi."
|
||
|
||
#: 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 ""
|
||
"Saya menemukan ini lebih menarik daripada kecepatan proyek pertama. Target "
|
||
"baru bisa mendapat manfaat dari pekerjaan yang dilakukan di game lain. "
|
||
"Pengalaman sudah ada dalam alat dan cara proyek diatur."
|
||
|
||
#: 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 ""
|
||
"Misalnya, TH08 telah mengajari kami untuk memperhatikan program yang dirakit"
|
||
" lebih awal. Jika beberapa fungsi yang dipulihkan bergantung pada status "
|
||
"yang sama, perbandingannya yang terisolasi akan membuka pertanyaan penting. "
|
||
"Kita perlu melihat mereka bekerja sama. Pelajaran itu membantu membentuk "
|
||
"cara kami mendekati pembuatan seluruh program 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 ""
|
||
"Pelajaran yang tetap ada di kepala saya berguna saat saya di sana. Setelah "
|
||
"menjadi pemeriksaan bahwa sesi lain dapat berjalan, itu dapat terus membantu"
|
||
" setelah saya melanjutkan. Agen berikutnya dapat menggunakan hasilnya tanpa "
|
||
"mengulangi penyelidikan yang mengarah ke sana."
|
||
|
||
#: 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 ""
|
||
"Bug konstanta floating-point juga termasuk dalam memori itu. Ini menjelaskan"
|
||
" mengapa memeriksa referensi juga memerlukan pemeriksaan data di baliknya. "
|
||
"Menjaga koreksi itu dengan kode membantu proyek selanjutnya menghindari "
|
||
"mewarisi titik buta cek lama."
|
||
|
||
#. {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}Metode tersebut menjadi bagian dari materi awal untuk game "
|
||
"selanjutnya.{ph1} Kita dapat menghabiskan lebih banyak upaya proyek "
|
||
"berikutnya untuk apa yang sebenarnya baru tentang targetnya."
|
||
|
||
#: 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 ""
|
||
"Manfaat yang sama tersedia untuk orang-orang yang bergabung nanti. Mereka "
|
||
"dapat memeriksa keputusan dan menjalankan kembali pemeriksaannya sebelum "
|
||
"melanjutkan pekerjaan. Mereka tidak perlu merekonstruksi seluruh sejarah "
|
||
"proyek untuk mengetahui mengapa sumbernya terlihat seperti itu."
|
||
|
||
#: 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: alur kerja bertahan dari arsitektur yang berbeda"
|
||
|
||
#. {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}, Lotus Land Story, membawa karya ini ke era DOS PC-98. "
|
||
"Targetnya sekarang adalah lingkungan 16-bit dengan empat program yang "
|
||
"bekerja sama. Memahami perilaku perangkat kerasnya membutuhkan bukti berbeda"
|
||
" dari game Windows. Sudah ada {ph2}ReC98 bekerja{ph3} memberi kami "
|
||
"pengetahuan dan sumber materi yang berharga di sini juga."
|
||
|
||
#: 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 ""
|
||
"Rekonstruksi DOS sekarang berfungsi. Dalam pengujian manual saya, saya "
|
||
"memainkan rute Normal lengkap melalui ujungnya dan memeriksa penyimpanan. "
|
||
"Pekerjaan saat ini adalah port 64-bit asli. Membuat versi DOS yang berfungsi"
|
||
" terlebih dahulu memberikan referensi pada port tersebut."
|
||
|
||
#: 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 ""
|
||
"Arsitekturnya mengubah apa yang perlu kami selidiki. Itu juga mengubah "
|
||
"kompiler dan runtime tempat kami memeriksa pekerjaan kami. Tetapi agen masih"
|
||
" bisa mengikuti pertanyaan sampai ke hasil dan membiarkan hasil itu memandu "
|
||
"percobaan berikutnya."
|
||
|
||
#: 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 ""
|
||
"Pertimbangkan transisi dari gameplay ke akhir. Kita perlu mengetahui status "
|
||
"apa yang melintasi batas itu dan program mana yang bertanggung jawab untuk "
|
||
"itu. Itu adalah sesuatu yang dapat kami selidiki terhadap produk DOS. "
|
||
"Setelah bukti dan pemeriksaan tersedia, agen dapat mengerjakan pertanyaan "
|
||
"tersebut seperti yang dilakukan pada judul 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 ""
|
||
"Inilah sebabnya mengapa TH04 penting untuk argumen tersebut. Perubahan "
|
||
"platform yang substansial tidak memaksa kami untuk memulai kembali dengan "
|
||
"cara kerja yang baru. Arsitektur mendefinisikan masalahnya; alur kerja masih"
|
||
" memberi kami cara untuk menyelesaikannya."
|
||
|
||
#: 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 ""
|
||
"Untuk port 64-bit, sekarang kita dapat memeriksa implementasi baru terhadap "
|
||
"perilaku yang sudah dipulihkan di DOS. Pengetahuan dari rekonstruksi memberi"
|
||
" pelabuhan sesuatu untuk dibangun."
|
||
|
||
#. {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 ""
|
||
"Status proyek per 10 Oktober 2026: {ph0}Rekonstruksi DOS dan pengujian "
|
||
"manual{ph1} · {ph2}port 64-bit{ph3}. Pelabuhan masih dalam pengembangan."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:730
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "From exact code to readable code"
|
||
msgstr "Dari kode yang tepat hingga kode yang dapat dibaca"
|
||
|
||
#: 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 ""
|
||
"Setelah rekonstruksi berhasil, saya ingin orang lain dapat memahaminya."
|
||
|
||
#: 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 ""
|
||
"Bagi saya, perakitan dan offset mentah bisa terasa seperti teman lama. Saya "
|
||
"menyadari ini adalah definisi yang sedikit tidak biasa dari \" dapat "
|
||
"dibaca.\"Kebanyakan orang lebih suka mengikuti logika permainan tanpa "
|
||
"menyimpan tata letak memori yang dapat dieksekusi di kepala mereka."
|
||
|
||
#. {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 ""
|
||
"Di situlah tempatnya {ph0}rekonstruksi semantik{ph1} masuk. Bidang yang "
|
||
"dipulihkan mungkin masih diketahui terutama dari offset-nya. Kami mengikuti "
|
||
"bagaimana permainan menggunakannya sampai kami dapat menjelaskan perannya. "
|
||
"Kemudian kita bisa memberinya nama yang bermakna dan tipe yang sesuai dengan"
|
||
" buktinya. Kami menyimpan alasannya dengan sumbernya sehingga orang "
|
||
"berikutnya dapat melihat dari mana interpretasi itu berasal."
|
||
|
||
#: 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 ""
|
||
"Ini menjadi sangat penting untuk port perangkat lunak. Alamat absolut "
|
||
"memberi tahu saya di mana sesuatu tinggal di executable lama. Ini memberikan"
|
||
" sedikit bantuan implementasi 64-bit dalam memutuskan objek mana yang harus "
|
||
"memiliki status tersebut. Untuk memindahkan perilaku dengan aman, kita perlu"
|
||
" memulihkan hubungan di balik akses memori lama."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:756
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "The order I now use is:"
|
||
msgstr "Urutan yang sekarang saya gunakan adalah:"
|
||
|
||
#. {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}Pulihkan garis dasar yang tepat.{ph1} Kompilasi potongan-potongan yang "
|
||
"direkonstruksi dengan kompiler sejarah. Bandingkan kode dan data yang "
|
||
"relevan dengan executable asli. Catat perbedaan yang belum terselesaikan "
|
||
"sehingga fase berikutnya memiliki titik awal yang jelas."
|
||
|
||
#. {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}Bangun dan mainkan di platform aslinya.{ph1} Tautkan potongan-potongan "
|
||
"itu ke dalam program nyata menggunakan arsitektur dan kompiler asli. Latih "
|
||
"jalur gameplay yang penting. Di sinilah kita dapat menemukan masalah dengan "
|
||
"status bersama atau inisialisasi yang terlewatkan oleh perbandingan fungsi "
|
||
"terisolasi."
|
||
|
||
#. {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}Rekonstruksi semantik terhadap kedua referensi tersebut.{ph1} Ambil "
|
||
"satu bagian yang koheren dari permainan pada satu waktu dan tentukan apa "
|
||
"arti sumber yang dipulihkan. Tingkatkan representasinya sambil "
|
||
"mempertahankan perbandingan yang tepat dan bangunan historis yang dapat "
|
||
"dimainkan."
|
||
|
||
#. {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}Membuat pelabuhan modern.{ph1} Pindahkan perilaku yang sudah ada ke "
|
||
"lingkungan baru, seperti build 64-bit asli. Game platform asli yang "
|
||
"direkonstruksi tetap menjadi referensi untuk membandingkan bagaimana port "
|
||
"berperilaku."
|
||
|
||
#. {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 ""
|
||
"Build yang dapat dimainkan dari tahap kedua menjadi a {ph0}referensi "
|
||
"verifikasi kedua (oracle){ph1} selama yang ketiga. Referensi verifikasi "
|
||
"pertama (oracle) memeriksa apakah sumber kami yang diubah masih mereproduksi"
|
||
" kode dan data asli yang relevan. Pemeriksaan kedua bahwa program yang "
|
||
"direkonstruksi masih dibangun dan berperilaku dengan benar di sepanjang "
|
||
"jalur yang kita gunakan."
|
||
|
||
#: 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 ""
|
||
"Mereka menangkap kesalahan yang berbeda. Perubahan tipe dapat mengubah "
|
||
"instruksi yang dihasilkan. Perubahan kepemilikan dapat membuat dua bagian "
|
||
"permainan menggunakan salinan status yang berbeda. Menjaga kedua pemeriksaan"
|
||
" tetap tersedia memberi agen kegagalan nyata untuk menyelidiki sebelum "
|
||
"melakukan refactor lebih lanjut."
|
||
|
||
#: 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 ""
|
||
"Sebuah nama membutuhkan buktinya sendiri. Perbandingan yang tepat tidak "
|
||
"dapat memberi tahu kita apakah suatu bidang benar-benar berarti \"waktu "
|
||
"kekebalan.\"Kita harus menetapkan itu dari cara permainan menulis dan "
|
||
"menggunakannya. Jika artinya tetap tidak pasti, nama yang netral lebih "
|
||
"bermanfaat bagi pembaca berikutnya daripada tebakan yang percaya diri."
|
||
|
||
#. {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 ""
|
||
"Kami mempelajari pesanan ini melalui proyek. TH08 sudah memiliki port yang "
|
||
"dapat dimainkan sebelum beberapa audit platform historisnya di kemudian "
|
||
"hari. Itu membuat cacat tertentu lebih sulit dilihat. The {ph0}Alur kerja "
|
||
"pabrik saat ini{ph1} menempatkan pembuatan platform asli terlebih dahulu, "
|
||
"sehingga pekerjaan semantik dapat menggunakannya sebagai referensi sebelum "
|
||
"porting dimulai."
|
||
|
||
#. {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}Rekonstruksi yang tepat memberi kita referensi. Rekonstruksi semantik "
|
||
"membuat pengetahuan yang dipulihkan dapat digunakan.{ph1} Sebuah port "
|
||
"kemudian dapat dibangun di atas keduanya."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:830
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "What makes this an industrial shift"
|
||
msgstr "Apa yang membuat ini menjadi pergeseran industri"
|
||
|
||
#: 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 ""
|
||
"Proyek-proyek ini berubah di mana saya menghabiskan perhatian saya. Begitu "
|
||
"agen dapat meneruskan banyak penyelidikan, meningkatkan lingkungan kerja "
|
||
"mereka menjadi salah satu hal paling berguna yang dapat saya lakukan. Alat "
|
||
"yang lebih baik dapat membantu setiap fungsi selanjutnya yang "
|
||
"membutuhkannya."
|
||
|
||
#: 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 ""
|
||
"Otonomi penting di sini. Langkah selanjutnya yang berguna seringkali menjadi"
|
||
" jelas hanya setelah percobaan yang gagal. Seorang agen membutuhkan "
|
||
"kebebasan yang cukup untuk mengikuti hasil itu di tempat yang tidak terduga."
|
||
" Jika harus menunggu saya untuk menentukan setiap langkah, sebagian besar "
|
||
"pekerjaan tetap terkait dengan perhatian saya."
|
||
|
||
#: 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 ""
|
||
"Saya berharap agen membuat hipotesis yang salah. Yang penting adalah apakah "
|
||
"kita bisa mengujinya dan belajar dari hasilnya. Pemeriksaan yang gagal akan "
|
||
"membantunya memahami kesalahan dengan cukup baik untuk mencoba lagi. Saya "
|
||
"masih harus memutuskan apakah bukti yang terkumpul mendukung pencapaian "
|
||
"proyek."
|
||
|
||
#: 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 memberi agen akses ke alat analisis. Pertanyaan tentang pemanggil fungsi"
|
||
" dapat langsung mengarah ke pemeriksaan pemanggil tersebut. Proyek "
|
||
"rekonstruksi memasok kompiler dan pemeriksaan referensinya sendiri. Agen "
|
||
"dapat menggunakannya untuk menguji sumber yang diusulkannya dan melihat di "
|
||
"mana penjelasannya bertahan."
|
||
|
||
#: 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 ""
|
||
"Bug TH08 menunjukkan mengapa pemeriksaan tersebut layak mendapat perhatian "
|
||
"teknik mereka sendiri. Ketika perbandingan yang sama digunakan di ratusan "
|
||
"fungsi, kesenjangan di dalamnya dapat menyebar lebih jauh daripada kesalahan"
|
||
" dalam satu implementasi. Menguji pemeriksa meningkatkan umpan balik yang "
|
||
"tersedia untuk semua pekerjaan selanjutnya."
|
||
|
||
#. {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 ""
|
||
"Analogi industri memiliki contoh sejarah yang berguna di sini. Boulton dan "
|
||
"Watt memperkenalkan {ph0}indikator mesin uap pada tahun 1796{ph1} untuk "
|
||
"membantu mengatur katup mesin. Versi rekaman melacak tekanan melalui langkah"
|
||
" piston. Itu membuat perilaku internal mesin tersedia untuk diperiksa. Alat "
|
||
"pembanding kami memiliki tujuan yang sama: alat tersebut memungkinkan kami "
|
||
"memeriksa apa yang dilakukan mesin saat kami memperbaikinya."
|
||
|
||
#. {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}Kita berada pada tahap awal pergeseran industri ini.{ph1} Sebagian "
|
||
"besar infrastruktur masih belum matang. Agen dapat bergerak lebih cepat "
|
||
"daripada yang dirancang untuk didukung oleh pemeriksaan kami, jadi prosesnya"
|
||
" harus berkembang bersama mereka. Saat kami menemukan kerusakan pada alat "
|
||
"bersama, kami harus memperbaikinya dan meninjau kembali hasil yang "
|
||
"terpengaruh. Proyek berikutnya kemudian dapat mewarisi alat yang lebih kuat."
|
||
|
||
#: 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 ""
|
||
"Ada juga batasan praktis untuk satu percakapan. Ini akan berakhir sebelum "
|
||
"rekonstruksi besar selesai. Repositori kode sumber harus memungkinkan sesi "
|
||
"lain untuk dilanjutkan tanpa kehilangan alasan keputusan terakhir."
|
||
|
||
#. {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 ""
|
||
"The {ph0}Pabrik Rekonstruksi Touhou{ph1} tumbuh dari kebutuhan itu. Ini "
|
||
"memberi proyek cara bersama untuk meneruskan pemeriksaan dan pelajaran "
|
||
"mereka. Bekerja pada satu permainan dapat meningkatkan kondisi awal untuk "
|
||
"permainan lainnya."
|
||
|
||
#: 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 ""
|
||
"Itulah yang membuat analogi industri bermakna bagi saya. Pengalaman mulai "
|
||
"menjadi bagian dari alat yang dapat digunakan orang lain. Meningkatkan alat "
|
||
"tersebut mengubah seberapa banyak orang berikutnya—atau agen "
|
||
"berikutnya—dapat menyelesaikannya."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:913
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "The projects we can now consider"
|
||
msgstr "Proyek-proyek yang sekarang dapat kita pertimbangkan"
|
||
|
||
#: 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 ""
|
||
"Kecepatan itu penting karena mengubah keputusan untuk memulai. Sebuah "
|
||
"permainan bisa sangat menarik untuk direkayasa ulang dan masih menuntut "
|
||
"lebih banyak perhatian saya sendiri daripada yang bisa saya berikan secara "
|
||
"realistis. Banyak proyek akan tetap menjadi ide."
|
||
|
||
#: 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 ""
|
||
"Sekarang saya dapat melihat cara untuk menjaga agar proyek semacam itu tetap"
|
||
" berjalan melalui penyelidikan berulang kali. Mendapatkan rekonstruksi yang "
|
||
"berfungsi membuat port perangkat lunak lebih praktis. Memulihkan semantik "
|
||
"yang dapat dibaca memudahkan orang lain untuk menjelajahi mod. Upaya yang "
|
||
"dilakukan untuk memahami permainan dapat terus membuahkan hasil setelah "
|
||
"versi pertama berjalan."
|
||
|
||
#. {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 ""
|
||
"Saya sekarang melihat program yang tidak dikenal dan bertanya: {ph0}akses, "
|
||
"umpan balik, dan akumulasi pengetahuan apa yang memungkinkan agen "
|
||
"mengerjakan ini dengan andal?{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 ""
|
||
"Pertanyaan itu membuat saya mempertimbangkan proyek-proyek yang sebelumnya "
|
||
"saya tinggalkan sendirian. Masing-masing dapat meningkatkan cara kita "
|
||
"mendekati pendekatan berikutnya. Saya ingin terus mengeksplorasi seberapa "
|
||
"jauh hal itu dapat membawa kita."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:942
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Project milestones and sources"
|
||
msgstr "Tonggak dan sumber proyek"
|
||
|
||
#: 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 ""
|
||
"Tanggal tersebut menggambarkan pos pemeriksaan proyek yang direkam, "
|
||
"diperiksa terhadap riwayat GitHub publik pada 10 Oktober 2026. Waktu berlalu"
|
||
" adalah waktu kalender antara komit. Keberadaan sumber, perbandingan yang "
|
||
"tepat, build, dan hasil runtime masing-masing menyebutkan pencapaian yang "
|
||
"berbeda."
|
||
|
||
#. {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 Agustus lanjutan{ph3}, {ph4}Buku besar sumber 19 "
|
||
"Agustus{ph5}, {ph6}24 Agustus Pelabuhan Linux{ph7}, {ph8}Edisi Web 26 "
|
||
"Agustus{ph9}, dan {ph10}30 Agustus rilis Linux 64-bit{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}Buku besar awal 29 Agustus{ph3}, {ph4}Buku besar "
|
||
"sumber 7 September{ph5}, {ph6}Perbandingan 8 September{ph7}, {ph8}Tautan 9 "
|
||
"September{ph9}, dan {ph10}10 September dapat dimainkan-buat rekor{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}Penyerahan 10 Oktober{ph3} merekam rekonstruksi DOS "
|
||
"yang berfungsi, pengujian rute Normal lengkap pengelola, dan fase 64-bit "
|
||
"saat ini."
|
||
|
||
#. {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} Koreksi referensi verifikasi TH08 (oracle) :{ph1} {ph2}bug pengumpulan"
|
||
" otomatis yang dilaporkan{ph3}, {ph4}perbaikan sumber dan perbandingan{ph5},"
|
||
" dan {ph6}audit konstan titik mengambang penuh{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}Rekonstruksi semantik:{ph1} {ph2} Pedoman keterbacaan TH08{ph3} dan "
|
||
"{ph4}urutan fase Pabrik dan dua jalur validasi{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}Sejarah industri:{ph1} {ph2}catatan indikator mesin uap Grup Museum "
|
||
"Sains{ph3} menjelaskan pengenalan tahun 1796 dan mekanisme pencatatan "
|
||
"tekanan."
|
||
|
||
#. {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}Metode:{ph1} pabrik {ph2}otonomi agen{ph3} dan {ph4}pengetahuan lintas-"
|
||
"permainan{ph5} dokumen mempertahankan prinsip dan pelajaran kerja."
|
||
|
||
#. {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}Lebih banyak artikel{ph1} · {ph2}Jelajahi investigasi 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 "Revolusi Industri Rekayasa Balik — 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 merefleksikan rekayasa balik manual, rekonstruksi Touhou dengan "
|
||
"agen AI, dan bagaimana pengetahuan menyatu di seluruh TH08, TH095, dan PC-98"
|
||
" TH04 ."
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:350
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Experience carried between projects"
|
||
msgstr "Pengalaman yang dibawa antar proyek"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:364
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:379
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Touhou reconstruction essay"
|
||
msgstr "Esai rekonstruksi Touhou"
|
||
|
||
#: website/public/blog/touhou-reconstruction/index.html:1080
|
||
msgctxt "page:blog/touhou-reconstruction/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/examples/dino-lab/index.html:104
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1}{ph2}/{ph3}Lab kecepatan dinosaurus"
|
||
|
||
#: website/public/examples/dino-lab/index.html:198
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Inspect → rebuild → change"
|
||
msgstr "Periksa →"
|
||
|
||
#: website/public/examples/dino-lab/index.html:199
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Rebuild the dinosaur’s speed rule."
|
||
msgstr "Bangun kembali aturan kecepatan dinosaurus."
|
||
|
||
#. {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 ""
|
||
"Untuk membuat ulang akselerasi game, pertama-tama temukan aturan yang "
|
||
"mengontrol kecepatannya. {ph0} REA mengembalikan skrip yang sedang "
|
||
"berjalan;{ph1} kami menggunakan aturannya untuk membuat mini-game ini dengan"
|
||
" {ph2}kecepatan yang dapat disesuaikan.{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 "Di halaman ini"
|
||
|
||
#. {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}Mainkan dan ubah kecepatannya{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}Baca aturan yang dipulihkan{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}Periksa rekonstruksi{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}Coba analisisnya{ph1}"
|
||
|
||
#: website/public/examples/dino-lab/index.html:219
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Play and change the speed"
|
||
msgstr "Mainkan dan ubah kecepatannya"
|
||
|
||
#: 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 ""
|
||
"Tekan Putar, lalu lompati kaktus. Gerakkan penggeser kecepatan untuk mencoba"
|
||
" permainan yang lebih lambat atau lebih cepat; itu beralih ke kecepatan "
|
||
"tetap. Pilih aturan yang dipulihkan untuk memulai dari 6 dan percepat lagi "
|
||
"secara bertahap."
|
||
|
||
#: website/public/examples/dino-lab/index.html:226
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Play the reconstruction"
|
||
msgstr "Mainkan hasil rekonstruksi"
|
||
|
||
#: website/public/examples/dino-lab/index.html:258
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Play"
|
||
msgstr "Main"
|
||
|
||
#: website/public/examples/dino-lab/index.html:261
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Jump ↑"
|
||
msgstr "Lompat ↑"
|
||
|
||
#: website/public/examples/dino-lab/index.html:262
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Restart"
|
||
msgstr "Mulai ulang"
|
||
|
||
#: website/public/examples/dino-lab/index.html:265
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Speed"
|
||
msgstr "Kecepatan"
|
||
|
||
#: website/public/examples/dino-lab/index.html:275
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Use the recovered acceleration rule"
|
||
msgstr "Gunakan aturan akselerasi yang dipulihkan"
|
||
|
||
#: 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 "Aturan awal: mulai dari 6, lalu tingkatkan menjadi 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 ""
|
||
"Gerakkan penggeser untuk mengatur kecepatan Anda sendiri. Ruang atau "
|
||
"Lompatan membersihkan kaktus."
|
||
|
||
#: 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 ""
|
||
"Aktifkan JavaScript untuk memainkan rekonstruksi. Kode dan penjelasan di "
|
||
"atas tetap dapat dibaca."
|
||
|
||
#: website/public/examples/dino-lab/index.html:295
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Read the script REA returned"
|
||
msgstr "Baca script REA kembali"
|
||
|
||
#. {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 ""
|
||
"Kami memeriksa {ph0}edisi peramban turunan Chromium wayou{ph1} dengan REA . "
|
||
"Itu mengembalikan muatan yang dimuat {ph2}, termasuk cabang ini dalam fungsi"
|
||
" pembaruan game:"
|
||
|
||
#. {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 ""
|
||
"Pengaturannya adalah {ph0}, {ph1} dan {ph2}. Gim ini menjalankan cabang ini "
|
||
"pada pembaruan tanpa tabrakan."
|
||
|
||
#: 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 "Gunakan aturan yang sama di game baru"
|
||
|
||
#: 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 "Salin"
|
||
|
||
#: 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 ""
|
||
"Mini-game menggunakan fungsi ini untuk akselerasi otomatis. Memindahkan "
|
||
"penggeser memberikan kecepatan tetap sebagai gantinya. Menggambar, fisika "
|
||
"lompat, dan pemeriksaan tabrakan persegi panjang adalah kode baru untuk game"
|
||
" pengajaran ini; simulasinya maju pada 60 pembaruan per detik."
|
||
|
||
#. {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}Unduh aturan kecepatan{ph1} · {ph2}Baca kode permainannya{ph3}"
|
||
|
||
#: website/public/examples/dino-lab/index.html:350
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Check the reconstruction"
|
||
msgstr "Periksa rekonstruksi"
|
||
|
||
#: 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 ""
|
||
"Kami menyebut fungsi pembaruan game asli dengan rintangan dan penjadwalan "
|
||
"otomatis dinonaktifkan. Bandingkan kecepatan yang direkam tersebut dengan "
|
||
"pemutaran ulang aturan yang dipulihkan."
|
||
|
||
#: website/public/examples/dino-lab/index.html:360
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Updates"
|
||
msgstr "Pembaruan"
|
||
|
||
#: website/public/examples/dino-lab/index.html:361
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Original game"
|
||
msgstr "Game asli"
|
||
|
||
#: website/public/examples/dino-lab/index.html:362
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Reconstructed rule"
|
||
msgstr "Aturan yang direkonstruksi"
|
||
|
||
#: website/public/examples/dino-lab/index.html:389
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Run the speed check"
|
||
msgstr "Jalankan pemeriksaan kecepatan"
|
||
|
||
#: 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 ""
|
||
"Nilai dibulatkan menjadi tiga desimal. Cabang memeriksa sebelum menambahkan,"
|
||
" sehingga kenaikan terakhir dapat mengambil kecepatan tepat di atas 13."
|
||
|
||
#: website/public/examples/dino-lab/index.html:398
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Try the analysis yourself"
|
||
msgstr "Coba analisisnya sendiri"
|
||
|
||
#. {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}Siapkan REA {ph1} dengan agen pengodean Anda."
|
||
|
||
#. {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 ""
|
||
"Ikuti {ph0}langkah-langkah koneksi browser{ph1}, menggunakan {ph2} sebagai "
|
||
"URL halaman."
|
||
|
||
#: 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 ""
|
||
"Berikan URL halaman dan titik akhir debugging lokal kepada agen Anda, lalu "
|
||
"salin perintah ini."
|
||
|
||
#. {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}Agen pengkodean Anda"
|
||
|
||
#. {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}Gunakan REA untuk memeriksa game dinosaurus ini. Mengapa "
|
||
"menjadi lebih cepat? Tampilkan aturan kecepatan, lalu buat versi kecil "
|
||
"dengan kecepatan yang dapat disesuaikan.{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 ""
|
||
"Ajukan tindak lanjut: {ph0}\"Di mana ketinggian lompatan dihitung? Tambahkan"
|
||
" kontrol ketinggian lompatan ke versi baru.”{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 ""
|
||
"Sumber: {ph0}kode kecepatan yang diperiksa{ph1}, Penulis Chromium. {ph2}Hak "
|
||
"cipta dan lisensi BSD{ph3}. REA 4.1.0 memeriksa edisi HTTP yang sedang "
|
||
"berjalan di 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 "Game Dinosaurus Chrome: Bangun Kembali Aturan Kecepatannya-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 ""
|
||
"Baca aturan kecepatan permainan dinosaurus dengan REA, bangun kembali, lalu "
|
||
"ubah kecepatan dan mainkan."
|
||
|
||
#: website/public/examples/dino-lab/index.html:217
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Dinosaur speed reconstruction"
|
||
msgstr "Rekonstruksi kecepatan dinosaurus"
|
||
|
||
#: 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 ""
|
||
"Mini-game dinosaurus. Gunakan tombol Lompat atau tekan Spasi saat permainan "
|
||
"difokuskan."
|
||
|
||
#: website/public/examples/dino-lab/index.html:323
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Copy reconstructed speed rule"
|
||
msgstr "Salin aturan kecepatan yang direkonstruksi"
|
||
|
||
#: website/public/examples/dino-lab/index.html:422
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Copy dinosaur analysis prompt"
|
||
msgstr "Salin prompt analisis dinosaurus"
|
||
|
||
#: website/public/examples/dino-lab/index.html:475
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/faq/index.html:103
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / FAQ"
|
||
|
||
#: website/public/faq/index.html:195
|
||
msgctxt "page:faq/index.html"
|
||
msgid "REA FAQ."
|
||
msgstr "FAQ REA."
|
||
|
||
#: website/public/faq/index.html:196
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Setup, updates, analysis and troubleshooting."
|
||
msgstr "Penyiapan, pembaruan, analisis, dan pemecahan masalah."
|
||
|
||
#: website/public/faq/index.html:200
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Topics"
|
||
msgstr "Topik"
|
||
|
||
#. {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}Penyiapan dan pembaruan{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}Analisis{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}Pemecahan masalah{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}Data dan berbagi{ph1}"
|
||
|
||
#: website/public/faq/index.html:214
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Setup and updates"
|
||
msgstr "Penyiapan dan pembaruan"
|
||
|
||
#: website/public/faq/index.html:217
|
||
msgctxt "page:faq/index.html"
|
||
msgid "How do I install REA?"
|
||
msgstr "Bagaimana cara memasang REA?"
|
||
|
||
#: website/public/faq/index.html:225
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · agent setup"
|
||
msgstr "Terminal * penyiapan agen"
|
||
|
||
#: 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 "Salin"
|
||
|
||
# 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 ""
|
||
"Perintah penyiapan mendaftarkan koneksi MCP REA dan memasang skill analisis "
|
||
"yang sesuai. Setelah selesai, mulai ulang agen lalu berikan jalur file dan "
|
||
"pertanyaan. {ph0}Panduan penyiapan{ph1} menjelaskan kebutuhan awal dan "
|
||
"langkah analisis pertama."
|
||
|
||
#: website/public/faq/index.html:246
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Which coding agents can use REA?"
|
||
msgstr "Agen pengkodean mana yang dapat menggunakan REA ?"
|
||
|
||
#: 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 ""
|
||
"Agen apa pun yang mendukung server MCP lokal. Pengaturan termasuk Claude "
|
||
"Code , Claude Desktop, Codex , Cursor , Gemini CLI , Windsurf , Devin , "
|
||
"OpenCode , Antigravity , GitHub Copilot CLI , Command Code , Grok Build , "
|
||
"OMP , dan VS Code . Konektor Grok Bot ditambahkan dari obrolannya."
|
||
|
||
#. {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}Hubungkan agen pengkodean Anda{ph1}."
|
||
|
||
#: website/public/faq/index.html:259
|
||
msgctxt "page:faq/index.html"
|
||
msgid "How do I update REA?"
|
||
msgstr "Bagaimana cara memperbarui 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 sering dirilis, termasuk perbaikan bug. Jika Anda menginstal CLI dengan "
|
||
"npm :"
|
||
|
||
#: website/public/faq/index.html:266
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · installed CLI"
|
||
msgstr "Terminal * terpasang CLI"
|
||
|
||
#. {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 ""
|
||
"Ikuti perintah penyegaran penyiapan yang dicetak oleh pembaruan. Jika Anda "
|
||
"mengatur agen Anda melalui {ph0}, lari:"
|
||
|
||
#: website/public/faq/index.html:284
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · refresh agent setup"
|
||
msgstr "Terminal * pengaturan agen penyegaran"
|
||
|
||
# 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 ""
|
||
"Periksa perubahan dan mulai ulang agen. Koneksi REA menggunakan versi paket "
|
||
"tertentu, jadi jalankan penyiapan lagi agar agen memakai versi baru. Untuk "
|
||
"satu kali perintah CLI, tambahkan perintah setelah {ph0}."
|
||
|
||
#: website/public/faq/index.html:304
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Is installing the skill from skills.sh enough?"
|
||
msgstr "Apakah memasang keterampilan dari skills.sh cukup?"
|
||
|
||
#. {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 ""
|
||
"Keterampilan tersebut memberikan instruksi penyelidikan agen Anda. Lari "
|
||
"{ph0} Pengaturan REA{ph1} untuk menghubungkan server MCP dan menginstal "
|
||
"keterampilan yang cocok, mulai ulang agen Anda sehingga dapat memanggil "
|
||
"alat."
|
||
|
||
#: website/public/faq/index.html:318
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Analysis"
|
||
msgstr "Analisis"
|
||
|
||
#: website/public/faq/index.html:321
|
||
msgctxt "page:faq/index.html"
|
||
msgid "What can I analyze with REA?"
|
||
msgstr "Apa yang dapat saya analisis dengan REA ?"
|
||
|
||
#: website/public/faq/index.html:322
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Start with the kind of software you have:"
|
||
msgstr "Mulailah dengan jenis perangkat lunak yang Anda miliki:"
|
||
|
||
#. {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}Executable dan pustaka asli{ph1}: fungsi, perakitan, pseudocode, dan "
|
||
"referensi."
|
||
|
||
#. {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} Aplikasi JavaScript dan Electron{ph1}: modul, impor, IPC, dan lokasi "
|
||
"sumber."
|
||
|
||
#. {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}Halaman browser{ph1}: skrip, permintaan, dan pengamatan runtime."
|
||
|
||
#. {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 juga memiliki alur kerja untuk rakitan terkelola, APK Android, firmware,"
|
||
" dan sumber daya yang dikemas. {ph0}Lihat studi kasus{ph1} untuk investigasi"
|
||
" yang berhasil."
|
||
|
||
#: website/public/faq/index.html:347
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Do I need Hopper, Ghidra or IDA?"
|
||
msgstr "Apakah saya memerlukan Hopper, Ghidra atau IDA ?"
|
||
|
||
#: 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 ""
|
||
"Analisis mendalam terhadap program kode mesin menggunakan salah satunya. "
|
||
"Pemeriksaan JavaScript dan. NET statis bekerja dengan file yang disediakan "
|
||
"dan tidak memerlukan analisis program kode mesin mesin."
|
||
|
||
#. {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 ""
|
||
"Hubungkan instalasi Ghidra atau IDA Anda yang sudah ada, atau biarkan setup "
|
||
"mendeteksi Hopper dan usulkan instalasi. Host dan target Anda menentukan "
|
||
"penyedia mana yang dapat digunakan. {ph0}Menyiapkan analisis program kode "
|
||
"mesin{ph1}."
|
||
|
||
#: website/public/faq/index.html:361
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Can I use REA without a coding agent?"
|
||
msgstr "Dapatkah saya menggunakan REA tanpa agen pengkodean?"
|
||
|
||
#: 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 ""
|
||
"Ya. CLI menggunakan alur kerja analisis yang sama. Untuk aplikasi JavaScript"
|
||
" atau Electron lokal:"
|
||
|
||
#: website/public/faq/index.html:368
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · static application analysis"
|
||
msgstr "Terminal * analisis aplikasi statis"
|
||
|
||
#. {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 ""
|
||
"Ganti jalur dengan folder aplikasi yang diekstraksi atau file ASAR. "
|
||
"{ph0}Gunakan CLI {ph1} untuk opsi instalasi."
|
||
|
||
# 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 "Kode apa yang dikembalikan 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 ""
|
||
"Analisis program native mengembalikan assembly dan pseudocode, beserta "
|
||
"pemanggilan fungsi, referensi, dan konstanta terkait. Analisis JavaScript "
|
||
"mengembalikan modul, hubungan antarmodul, dan lokasi dalam kode sumber."
|
||
|
||
#. {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 ""
|
||
"Agen Anda menggunakan temuan ini untuk menjelaskan perilaku atau menulis dan"
|
||
" menguji implementasi. The {ph0} Perhitungan DX-Ball{ph1} dan {ph2}Pemeriksa"
|
||
" bendera KKP{ph3} tunjukkan bagaimana proses itu bekerja."
|
||
|
||
#: website/public/faq/index.html:405
|
||
msgctxt "page:faq/index.html"
|
||
msgid "What should I ask my agent?"
|
||
msgstr "Apa yang sebaiknya saya tanyakan kepada agen?"
|
||
|
||
#: 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 ""
|
||
"Berikan target lokal dan satu perilaku untuk diselidiki. Untuk aplikasi "
|
||
"JavaScript atau 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}Agen pengkodean Anda"
|
||
|
||
#. {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 ""
|
||
"Ganti jalur dengan target Anda. The {ph0}panduan{ph1} berikan petunjuk untuk"
|
||
" contoh asli, Electron, dan browser."
|
||
|
||
#: website/public/faq/index.html:445
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Troubleshooting"
|
||
msgstr "Pemecahan masalah"
|
||
|
||
#: website/public/faq/index.html:448
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Why can't my agent see the REA tools?"
|
||
msgstr "Mengapa agen saya tidak dapat melihat alat REA?"
|
||
|
||
#. {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 ""
|
||
"Mulai ulang atau sambungkan kembali agen Anda setelah penyiapan. Periksa "
|
||
"pendaftaran REA-nya dengan {ph0}; untuk Codex :"
|
||
|
||
#: website/public/faq/index.html:455
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · check one client"
|
||
msgstr "Terminal * periksa satu klien"
|
||
|
||
#. {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 ""
|
||
"Ganti {ph0} dengan ID klien Anda, seperti {ph1} atau {ph2}. Jika laporan "
|
||
"menunjukkan pendaftaran yang hilang atau kedaluwarsa, jalankan penyiapan "
|
||
"untuk klien tersebut:"
|
||
|
||
#: website/public/faq/index.html:475
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Terminal · repair one client's setup"
|
||
msgstr "Terminal * perbaiki pengaturan satu klien"
|
||
|
||
#. {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 ""
|
||
"Tinjau rencananya dan mulai ulang klien. Jika pendaftaran sehat tetapi alat "
|
||
"tetap tidak ada, periksa kesalahan koneksi MCP klien. {ph0}Lebih banyak "
|
||
"diagnostik pengaturan{ph1}."
|
||
|
||
#: website/public/faq/index.html:495
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Do I need to start Hopper first?"
|
||
msgstr "Apakah saya harus memulai Hopper terlebih dahulu?"
|
||
|
||
#. {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 memulai Hopper saat operasi membutuhkannya. Pada macOS, selesaikan "
|
||
"pilihan mode demo atau aktivasi lisensi yang dijalankan pertama kali sebelum"
|
||
" analisis tanpa pengawasan. {ph0}Lihat penyiapan penyedia asli{ph1}."
|
||
|
||
#: website/public/faq/index.html:505
|
||
msgctxt "page:faq/index.html"
|
||
msgid "What should I do if I hit a bug?"
|
||
msgstr "Apa yang harus saya lakukan jika menemukan bug?"
|
||
|
||
#. {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}Perbarui REA {ph1}, mulai ulang agen Anda dan coba lagi tugas yang "
|
||
"sama. Rilis terbaru mungkin sudah memperbaiki masalah."
|
||
|
||
#. {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 ""
|
||
"Jika terus berlanjut, {ph0}buka masalah{ph1} dengan versi REA Anda, sistem "
|
||
"operasi, jenis target, langkah-langkah untuk mereproduksi, dan keluaran "
|
||
"kesalahan. Sertakan nama penyedia saat masalah melibatkan analisis program "
|
||
"kode mesin."
|
||
|
||
#: website/public/faq/index.html:524
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Data and sharing"
|
||
msgstr "Data dan berbagi"
|
||
|
||
#: website/public/faq/index.html:527
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Does REA upload my app?"
|
||
msgstr "Apakah REA mengunggah aplikasi saya?"
|
||
|
||
#: 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 menganalisis target pada mesin Anda. Agen Anda menerima hasilnya, dan "
|
||
"kebijakan data penyedia modelnya berlaku untuk hasil tersebut."
|
||
|
||
#: website/public/faq/index.html:535
|
||
msgctxt "page:faq/index.html"
|
||
msgid "How can I share an example or contribute?"
|
||
msgstr "Bagaimana saya bisa membagikan contoh atau berkontribusi?"
|
||
|
||
#. {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 ""
|
||
"Punya contoh REA yang berguna? Kami ingin melihatnya. Bagikan target, "
|
||
"pertanyaan Anda, temuan, dan cara Anda memeriksanya dalam sebuah "
|
||
"{ph0}masalah{ph1} atau {ph2}tarik permintaan{ph3}. Kutipan kode pendek dan "
|
||
"angka membantu orang lain mengikuti penyelidikan."
|
||
|
||
#. {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 ""
|
||
"Laporan bug, permintaan fitur, dokumentasi, dan peningkatan kode juga "
|
||
"diterima. Anda juga dapat mendiskusikan sebuah contoh di "
|
||
"{ph0}komunitas{ph1}."
|
||
|
||
#: website/public/faq/index.html:6
|
||
msgctxt "page:faq/index.html"
|
||
msgid "REA FAQ: Setup, Updates and Troubleshooting"
|
||
msgstr "FAQ REA: Penyiapan, Pembaruan, dan Pemecahan Masalah"
|
||
|
||
#: 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 ""
|
||
"Jawaban atas pertanyaan umum REA: instalasi, pembaruan, alat analisis, agen "
|
||
"pengkodean, pemecahan masalah, dan contoh berbagi."
|
||
|
||
#: website/public/faq/index.html:199
|
||
msgctxt "page:faq/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/faq/index.html:208
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Frequently asked questions about REA"
|
||
msgstr "Pertanyaan yang sering diajukan tentang REA"
|
||
|
||
#: website/public/faq/index.html:226
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy REA setup command"
|
||
msgstr "Salin perintah pengaturan REA"
|
||
|
||
#: website/public/faq/index.html:267
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy REA update command"
|
||
msgstr "Salin perintah pembaruan REA"
|
||
|
||
#: website/public/faq/index.html:285
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy agent setup refresh command"
|
||
msgstr "Perintah penyegaran penyiapan agen salin"
|
||
|
||
#: website/public/faq/index.html:369
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy REA CLI analysis command"
|
||
msgstr "Salin perintah analisis REA CLI"
|
||
|
||
#: website/public/faq/index.html:416
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy example analysis prompt"
|
||
msgstr "Salin contoh analisis prompt"
|
||
|
||
#: website/public/faq/index.html:456
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy client diagnosis command"
|
||
msgstr "Salin perintah diagnosis klien"
|
||
|
||
#: website/public/faq/index.html:476
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Copy scoped setup command"
|
||
msgstr "Salin perintah pengaturan cakupan"
|
||
|
||
#: website/public/faq/index.html:573
|
||
msgctxt "page:faq/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/first-investigation/index.html:103
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / Investigasi pertama Anda"
|
||
|
||
#. {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 "Cari tahu di mana{ph0}catatan yang diekspor pergi."
|
||
|
||
#: 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 ""
|
||
"Gunakan REA untuk memeriksa aplikasi kecil, ikuti tombol catatan Ekspornya, "
|
||
"dan periksa sendiri satu detailnya."
|
||
|
||
#: website/public/first-investigation/index.html:209
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "In this exercise"
|
||
msgstr "Dalam latihan ini"
|
||
|
||
#. {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. Siapkan{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. Tanyakan tentang ekspor{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. Ikuti jawabannya{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. Periksa prediksi{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. Ajukan pertanyaan lain{ph1}"
|
||
|
||
#: website/public/first-investigation/index.html:220
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "1. Connect your agent to REA"
|
||
msgstr "1. Hubungkan agen Anda ke 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}Agen pengkodean Anda"
|
||
|
||
#: 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 "Salin"
|
||
|
||
#: website/public/first-investigation/index.html:253
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Or run this command in your terminal:"
|
||
msgstr "Atau jalankan perintah ini di terminal Anda:"
|
||
|
||
#: 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 ""
|
||
"Tinjau paket, setujui penyiapan, lalu mulai ulang agen Anda. Sudah "
|
||
"terhubung? Lanjutkan di bawah ini."
|
||
|
||
#: website/public/first-investigation/index.html:271
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "2. Ask where the CSV is written"
|
||
msgstr "2. Tanyakan di mana CSV ditulis"
|
||
|
||
#. {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 ""
|
||
"Contohnya adalah aplikasi Electron enam file dengan {ph0}Ekspor catatan{ph1}"
|
||
" tombol. Agen Anda dapat memeriksa kodenya tanpa menginstal atau meluncurkan"
|
||
" 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 ""
|
||
"Agen Anda mengunduh file dan memberikan folder yang belum dibongkar ke REA "
|
||
"untuk diperiksa."
|
||
|
||
#. {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}Unduh contoh ZIP{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 ""
|
||
"Jika agen Anda tidak dapat mengunduh file, buka zip arsip ini sendiri. "
|
||
"Berikan jalan ke {ph0} folder dan pertanyaan ekspor yang sama."
|
||
|
||
#: website/public/first-investigation/index.html:326
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "3. Follow the answer back to the code"
|
||
msgstr "3. Ikuti jawabannya kembali ke kode"
|
||
|
||
#: 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 "Cari penjelasan singkat dengan referensi file dan baris:"
|
||
|
||
#. {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 ""
|
||
"Tombol tersebut mengirimkan {ph0} pesan. Proses utama memformat catatan "
|
||
"sebagai CSV dan menulis {ph1} di folder Unduhan pengguna. Kolomnya adalah "
|
||
"{ph2} dan {ph3}."
|
||
|
||
#: website/public/first-investigation/index.html:337
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "From the button to the file writer"
|
||
msgstr "Dari tombol ke penulis file"
|
||
|
||
#: 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 ""
|
||
"Analisis statis REA memasangkan pesan dengan penangannya. Tujuan dibaca dari"
|
||
" kode."
|
||
|
||
#: 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 ""
|
||
"Jalur file, pemformat, dan panggilan tulis digabungkan dalam penangan ini. "
|
||
"Minta agen Anda untuk menunjukkan baris-baris ini jika jawabannya tidak."
|
||
|
||
#. {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}Lihat jejak kode lengkap dan hasil REA yang direkam{ph1}."
|
||
|
||
#: website/public/first-investigation/index.html:394
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "4. Check a prediction"
|
||
msgstr "4. Periksa prediksi"
|
||
|
||
#: 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 ""
|
||
"Koma memisahkan kolom CSV. Apa yang terjadi jika judul catatan itu sendiri "
|
||
"berisi koma atau tanda petik?"
|
||
|
||
#: website/public/first-investigation/index.html:439
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Run the check yourself"
|
||
msgstr "Jalankan cek sendiri"
|
||
|
||
#. {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 "Buka terminal di bagian yang belum dibongkar {ph0} folder:"
|
||
|
||
#: 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 ""
|
||
"Perintah ini menggunakan shell dengan dukungan here-document, seperti Bash "
|
||
"atau Zsh. Agen Anda dapat menjalankan JavaScript yang sama di shell platform"
|
||
" Anda."
|
||
|
||
#: website/public/first-investigation/index.html:470
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "5. Ask another question"
|
||
msgstr "5. Ajukan pertanyaan lain"
|
||
|
||
#: website/public/first-investigation/index.html:471
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Try a follow-up in the same conversation:"
|
||
msgstr "Coba tindak lanjut dalam percakapan yang sama:"
|
||
|
||
#: 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 ""
|
||
"Apa yang terjadi jika file tidak dapat ditulis? Ikuti kesalahan kembali ke "
|
||
"halaman."
|
||
|
||
#: 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 ""
|
||
"Atau berikan agen Anda aplikasi Anda sendiri dan tanyakan tentang satu "
|
||
"tombol, file, atau perilaku."
|
||
|
||
#. {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}Bagaimana Notion menyalin teks dan HTML{ph1}{ph2}Ikuti fitur papan klip"
|
||
" di aplikasi Electron yang dikemas.{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}Bagaimana DX-Ball menghitung pemosisian suara stereo{ph1}{ph2}Baca "
|
||
"instruksi asli dan cek rekonstruksi.{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}Memecahkan masalah penyiapan atau analisis{ph1}{ph2}Perbarui REA dan "
|
||
"periksa koneksi jika Anda macet.{ph3}"
|
||
|
||
#: website/public/first-investigation/index.html:6
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Your First Reverse Engineering Investigation — REA"
|
||
msgstr "Investigasi Rekayasa Balik Pertama Anda-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 ""
|
||
"Coba REA di aplikasi Catatan kecil. Siapkan agen Anda, tanyakan ke mana "
|
||
"perginya catatan yang diekspor, dan periksa formatter CSV dengan judul "
|
||
"sampel."
|
||
|
||
#: website/public/first-investigation/index.html:208
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/first-investigation/index.html:218
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Your first REA investigation"
|
||
msgstr "Investigasi REA pertama Anda"
|
||
|
||
#: website/public/first-investigation/index.html:234
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Copy REA installation prompt"
|
||
msgstr "Salin prompt instalasi REA"
|
||
|
||
#: website/public/first-investigation/index.html:256
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Copy setup command"
|
||
msgstr "Salin perintah pengaturan"
|
||
|
||
#: website/public/first-investigation/index.html:284
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Copy Notes investigation prompt"
|
||
msgstr "Salin Catatan penyelidikan prompt"
|
||
|
||
#: website/public/first-investigation/index.html:406
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Copy CSV check prompt"
|
||
msgstr "Salin prompt pemeriksaan CSV"
|
||
|
||
#: website/public/first-investigation/index.html:448
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Copy formatter check command"
|
||
msgstr "Salin perintah pemeriksaan formatter"
|
||
|
||
#: website/public/first-investigation/index.html:523
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/get-started/index.html:103
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / Memulai"
|
||
|
||
#: website/public/get-started/index.html:195
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Set up REA."
|
||
msgstr "Siapkan 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 ""
|
||
"Hubungkan REA ke agen pengkodean Anda, atau periksa aplikasi lokal dari "
|
||
"terminal Anda."
|
||
|
||
#: website/public/get-started/index.html:208
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Open a terminal and check:"
|
||
msgstr "Buka terminal dan periksa:"
|
||
|
||
#: website/public/get-started/index.html:211
|
||
#: website/public/get-started/index.html:468
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Terminal"
|
||
msgstr "Terminal"
|
||
|
||
#: 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 "Salin"
|
||
|
||
#. {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 ""
|
||
"Ketik Y jika diminta untuk menerima persyaratan. Tutup PowerShell, buka "
|
||
"lagi, lalu jalankan {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 ""
|
||
"Jika PowerShell kemudian mengatakan {ph0}\"menjalankan skrip dinonaktifkan "
|
||
"pada sistem ini\"{ph1} saat Anda berlari {ph2}, jalankan ini sekali dan coba"
|
||
" lagi:"
|
||
|
||
#: website/public/get-started/index.html:268
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "If you use Homebrew:"
|
||
msgstr "Jika Anda menggunakan Homebrew :"
|
||
|
||
#: website/public/get-started/index.html:283
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Otherwise:"
|
||
msgstr "Kalau tidak,:"
|
||
|
||
#: website/public/get-started/index.html:298
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Close Terminal, open it again, then:"
|
||
msgstr "Tutup Terminal, buka lagi, lalu:"
|
||
|
||
#. {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 ""
|
||
"Pemasang membutuhkan {ph0} dan {ph1} (pada Debian / Ubuntu: {ph2}). Tutup "
|
||
"terminal, buka lagi, lalu:"
|
||
|
||
#. {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 ""
|
||
"Distribusi Anda sendiri {ph0} paket seringkali lebih lama dari 22.19, jadi "
|
||
"periksa {ph1} jika Anda menggunakannya sebagai gantinya."
|
||
|
||
#. {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 ""
|
||
"Lebih suka penginstal biasa? Unduh versi LTS dari {ph0}nodejs.org{ph1}."
|
||
|
||
#: website/public/get-started/index.html:361
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Setup options"
|
||
msgstr "Opsi pengaturan"
|
||
|
||
#. {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}Hubungkan agen pengkodean Anda{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}Gunakan 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}Menyiapkan analisis program kode mesin{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}Mendapatkan bantuan{ph1}"
|
||
|
||
#: website/public/get-started/index.html:371
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Connect your coding agent"
|
||
msgstr "Hubungkan agen pengkodean Anda"
|
||
|
||
#: 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 ""
|
||
"Jalankan pengaturan untuk menghubungkan REA ke agen pengkodean Anda. Pilihan"
|
||
" klien termasuk Claude Code, Codex , Cursor , Gemini CLI , Windsurf , Grok "
|
||
"Build, dan klien MCP lain yang didukung. Konektor Grok Bot ditambahkan dari "
|
||
"obrolannya."
|
||
|
||
#: website/public/get-started/index.html:379
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "New to coding agents?"
|
||
msgstr "Baru mengenal agen pengkodean?"
|
||
|
||
#: 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 ""
|
||
"Agen pengkodean adalah asisten AI yang berfungsi di komputer Anda, bukan di "
|
||
"tab browser. Itu dapat membaca file dan menjalankan perintah, dan bertanya "
|
||
"sebelum membuat perubahan. REA memberikan alat rekayasa balik."
|
||
|
||
#: 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 ""
|
||
"Jika Anda belum memilikinya, pilih salah satu, ikuti halaman pemasangannya "
|
||
"dan masuk:"
|
||
|
||
#. {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} oleh Anthropic . Membutuhkan paket Claude "
|
||
"berbayar."
|
||
|
||
#. {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} oleh OpenAI . Masuk dengan akun ChatGPT Anda."
|
||
|
||
#. {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}, sumber terbuka. Hubungkan penyedia model "
|
||
"pilihan Anda."
|
||
|
||
#: 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 ""
|
||
"Kemudian buka dan salin prompt di bawah ini ke dalamnya. Agen menjalankan "
|
||
"pengaturan REA dan menunjukkan kepada Anda rencananya sebelum mengubah apa "
|
||
"pun."
|
||
|
||
#. {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}Agen pengkodean Anda"
|
||
|
||
#: website/public/get-started/index.html:443
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Or run setup yourself"
|
||
msgstr "Atau jalankan pengaturan sendiri"
|
||
|
||
#: website/public/get-started/index.html:445
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "How do I open a terminal?"
|
||
msgstr "Bagaimana cara membuka terminal?"
|
||
|
||
#. {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} buka menu Mulai, ketik {ph2}PowerShell{ph3} dan tekan "
|
||
"Enter."
|
||
|
||
#. {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} pers {ph2} {ph3}, ketik {ph4}Terminal{ph5} dan tekan "
|
||
"Enter."
|
||
|
||
#. {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} pers {ph2} {ph3} {ph4} di sebagian besar desktop."
|
||
|
||
#. {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 ""
|
||
"Tempel perintah dengan {ph0} {ph1} (macOS : {ph2} {ph3}; Terminal Linux: "
|
||
"{ph4} {ph5} {ph6}), lalu tekan Enter."
|
||
|
||
#: 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 ""
|
||
"Pilih klien Anda dan tinjau rencana penyiapan. REA menambahkan koneksi MCP "
|
||
"dan keterampilan investigasi pencocokan, menyimpan cadangan konfigurasi yang"
|
||
" ada. Itu bertanya sebelum menerapkan perubahan."
|
||
|
||
#: website/public/get-started/index.html:486
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Restart your client when setup finishes."
|
||
msgstr "Mulai ulang klien Anda saat penyiapan selesai."
|
||
|
||
#: website/public/get-started/index.html:488
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "How do I restart my client?"
|
||
msgstr "Bagaimana cara memulai ulang klien saya?"
|
||
|
||
#. {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}Aplikasi desktop{ph1} (Claude Desktop, Cursor, Windsurf, VS Code): "
|
||
"keluar dari aplikasi sepenuhnya, lalu buka lagi. Menutup jendela saja tidak "
|
||
"cukup. Pada pers macOS {ph2} {ph3}; pada Windows, keluar juga dari ikon baki"
|
||
" jika ada."
|
||
|
||
#. {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}Agen terminal{ph1} ( Claude Code, Codex, Gemini CLI): keluar dari sesi "
|
||
"dan mulai lagi."
|
||
|
||
#: 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 ""
|
||
"Berikan agen Anda jalur target dan pertanyaan spesifik. Untuk aplikasi "
|
||
"JavaScript atau Electron, Anda dapat memulai dengan:"
|
||
|
||
#. {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 ""
|
||
"Lihat ini {ph0} dan temukan cara mengekspor data. Tampilkan titik masuk, "
|
||
"panggilan, dan dependensi yang terlibat, dengan lokasi sumber untuk temuan "
|
||
"Anda."
|
||
|
||
#: website/public/get-started/index.html:512
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Replace the path with your local target."
|
||
msgstr "Ganti jalur dengan target lokal Anda."
|
||
|
||
#: website/public/get-started/index.html:514
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "How do I get a folder's full path?"
|
||
msgstr "Bagaimana cara mendapatkan jalur lengkap folder?"
|
||
|
||
#. {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} di File Explorer, klik kanan folder tersebut dan pilih "
|
||
"{ph2}Salin sebagai jalur{ph3}. Pada Windows 10, tahan Shift sambil mengklik "
|
||
"kanan."
|
||
|
||
#. {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} di Finder, klik kanan folder, tahan Opsi, dan pilih "
|
||
"{ph2}Salin \" ... \" sebagai Nama Jalur{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}Sistem apa pun:{ph1} seret folder ke jendela terminal dan jalurnya "
|
||
"muncul."
|
||
|
||
#: 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 "Di terminal, beri tanda kutip di sekitar jalur yang berisi spasi."
|
||
|
||
#: website/public/get-started/index.html:537
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Use the CLI"
|
||
msgstr "Gunakan 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 ""
|
||
"Analisis folder aplikasi JavaScript atau Electron atau arsip ASAR tanpa "
|
||
"menjalankan aplikasi:"
|
||
|
||
#: website/public/get-started/index.html:544
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Static application analysis"
|
||
msgstr "Analisis aplikasi statis"
|
||
|
||
#. {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 ""
|
||
"Ganti jalur dengan direktori aplikasi yang Anda ekstrak atau {ph0} berkas. "
|
||
"Pada Windows, jalur seperti {ph1} bekerja di sini."
|
||
|
||
#: website/public/get-started/index.html:563
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Where do I find an app's .asar file?"
|
||
msgstr "Di mana saya menemukan aplikasi .berkas asar?"
|
||
|
||
#. {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 "Aplikasi Electron biasanya menyimpannya dalam {ph0} folder:"
|
||
|
||
#. {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} (klik kanan aplikasi dan pilih {ph3}Tampilkan Isi "
|
||
"Paket{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} sering {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 ""
|
||
"Beberapa aplikasi dipasang di tempat lain. Cari folder aplikasi untuk {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 ""
|
||
"Hasilnya mengidentifikasi aplikasi, menunjukkan koneksi antar modul, dan "
|
||
"memberikan lokasi sumbernya. Koneksi yang tidak dapat diselesaikan oleh REA "
|
||
"ditandai dalam hasil."
|
||
|
||
#. {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 "Jika Anda ingin permanen {ph0} perintah di shell Anda:"
|
||
|
||
#: website/public/get-started/index.html:603
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Install the CLI"
|
||
msgstr "Instal 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}Lanjutkan dengan panduan aplikasi JavaScript{ph1}"
|
||
|
||
#: website/public/get-started/index.html:623
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Set up native analysis"
|
||
msgstr "Menyiapkan analisis program kode mesin"
|
||
|
||
#: 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 ""
|
||
"Program kode mesin memerlukan alat analisis lokal. Pilih dan konfigurasikan "
|
||
"salah satu di bawah ini, lalu berikan REA executable atau pustaka Anda."
|
||
|
||
#: website/public/get-started/index.html:629
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Choose a tool: Ghidra, Hopper or IDA"
|
||
msgstr "Pilih alat: Ghidra, Hopper atau 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 ""
|
||
"Gunakan Ghidra 12.1 yang ada.instalasi x dan JDK 64-bit 21 atau yang lebih "
|
||
"baru pada Linux atau macOS, pada x64 atau arm64. Instalasi Ghidra Anda "
|
||
"memerlukan dekompiler asli untuk arsitektur host Anda. Setel jalur sebelum "
|
||
"menjalankan penyiapan:"
|
||
|
||
#: website/public/get-started/index.html:641
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Connect your Ghidra installation"
|
||
msgstr "Hubungkan instalasi Ghidra Anda"
|
||
|
||
#: website/public/get-started/index.html:644
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Ghidra connection · macOS / Linux"
|
||
msgstr "Koneksi 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 ""
|
||
"Ganti kedua jalur dengan instalasi Anda yang sudah ada. Pengaturan "
|
||
"memeriksanya dan mencatat pengaturan yang valid untuk klien yang Anda pilih."
|
||
" Pada Linux arm64, Anda mungkin perlu membuat dekompiler asli Ghidra secara "
|
||
"terpisah."
|
||
|
||
#: website/public/get-started/index.html:667
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Connect Ghidra on Windows"
|
||
msgstr "Hubungkan Ghidra di 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 x64 memiliki dukungan eksperimental hanya-baca untuk aplikasi PE x86"
|
||
" dan x64 asli dan DLL pada drive NTFS lokal tetap. Gunakan Ghidra 12.1 yang "
|
||
"ada.instalasi x dan JDK 64-bit 21 atau yang lebih baru:"
|
||
|
||
#: website/public/get-started/index.html:676
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Ghidra connection · Windows PowerShell"
|
||
msgstr "Koneksi Ghidra · PowerShell Windows"
|
||
|
||
#: 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 ""
|
||
"Ganti kedua jalur dengan penginstalan Anda, lalu tinjau paket penyiapan."
|
||
|
||
#: 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 ""
|
||
"Hubungkan Hopper ke macOS atau Linux . Jalankan perintah pengaturan di atas;"
|
||
" itu mendeteksi instalasi yang ada atau menawarkan rencana instalasi untuk "
|
||
"persetujuan Anda."
|
||
|
||
#: 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 ""
|
||
"Pada macOS, selesaikan pilihan mode demo atau aktivasi lisensi Hopper yang "
|
||
"dijalankan pertama kali sebelum analisis tanpa pengawasan."
|
||
|
||
#: 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 ""
|
||
"Penyiapan IDA yang diverifikasi menggunakan Windows, dengan pendaftaran MCP "
|
||
"yang ada untuk GUI terlampir atau basis data tanpa kepala. Analisis tanpa "
|
||
"kepala Linux dan macOS tetap belum diverifikasi."
|
||
|
||
#: website/public/get-started/index.html:721
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Connect an existing IDA MCP registration"
|
||
msgstr "Hubungkan pendaftaran IDA MCP yang ada"
|
||
|
||
#. {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 ""
|
||
"Jaga agar server upstream tetap berfungsi {ph0}, {ph1} dan opsional {ph2} "
|
||
"dalam file JSON. Yang sudah ada {ph3} objek dengan sebuah {ph4} entri juga "
|
||
"diterima. Arahkan REA ke file itu sebelum pengaturan:"
|
||
|
||
#: website/public/get-started/index.html:733
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "IDA connection · Windows PowerShell"
|
||
msgstr "Koneksi IDA · PowerShell Windows"
|
||
|
||
#. {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 ""
|
||
"Profil terlampir menggunakan alat upstream legacy 1.4.0 dengan biner asli "
|
||
"yang sudah terbuka di IDA . Profil tanpa kepala menggunakan upstream "
|
||
"database-supervisor API dan pendaftaran dengan {ph0}; verifikasi nyata "
|
||
"mencakup pengawas IDA 9.3 Windows x64. Dokter memeriksa pendaftaran tanpa "
|
||
"memulai 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 ""
|
||
"Berikan REA jalur asli yang dapat dieksekusi, dengan {ph0} dalam kueri CLI. "
|
||
"Untuk agen, sertakan {ph1} di lingkungan pendaftaran REA dan pilih IDA saat "
|
||
"membuka biner."
|
||
|
||
#: website/public/get-started/index.html:769
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "For an existing Ghidra setup, inspect a function with:"
|
||
msgstr "Untuk pengaturan Ghidra yang ada, periksa fungsi dengan:"
|
||
|
||
#: website/public/get-started/index.html:774
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Function analysis"
|
||
msgstr "Analisis fungsi"
|
||
|
||
#. {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 "Ganti {ph0} dengan nama fungsi atau alamat yang ingin Anda periksa."
|
||
|
||
#: website/public/get-started/index.html:792
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "How native analysis sessions work"
|
||
msgstr "Bagaimana analisis sesi program kode mesin bekerja"
|
||
|
||
#: 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 ""
|
||
"Setiap perintah CLI mengimpor dan menganalisis biner, lalu menutup sesinya. "
|
||
"Kueri MCP agen Anda menggunakan kembali biner yang diimpor saat sesi "
|
||
"tersebut dibuka."
|
||
|
||
#. {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}Ikuti contoh analisis program kode mesin{ph1} untuk melihat bagaimana "
|
||
"hasil fungsi mengarah ke perhitungan yang dipulihkan."
|
||
|
||
#: website/public/get-started/index.html:806
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Getting help"
|
||
msgstr "Mendapatkan bantuan"
|
||
|
||
#: website/public/get-started/index.html:807
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "If your agent doesn't see REA"
|
||
msgstr "Jika agen Anda tidak melihat 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 ""
|
||
"Mulai ulang atau sambungkan kembali klien setelah pengaturan. Periksa "
|
||
"koneksi REA-nya dengan {ph0}; untuk Codex :"
|
||
|
||
#: website/public/get-started/index.html:814
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Check one client"
|
||
msgstr "Periksa satu klien"
|
||
|
||
#: website/public/get-started/index.html:826
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "If a provider needs attention"
|
||
msgstr "Jika penyedia membutuhkan perhatian"
|
||
|
||
#: website/public/get-started/index.html:827
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Check the provider you're using. For Ghidra:"
|
||
msgstr "Periksa penyedia yang Anda gunakan. Untuk Ghidra :"
|
||
|
||
#: website/public/get-started/index.html:830
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Check one provider"
|
||
msgstr "Periksa satu penyedia"
|
||
|
||
#: 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 ""
|
||
"Laporan tersebut memberikan pemeriksaan yang gagal dan langkah berikutnya "
|
||
"yang disarankan."
|
||
|
||
#. {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} FAQ REA{ph1}{ph2}Jawaban cepat tentang pembaruan, agen, dan "
|
||
"analisis.{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}Pilih panduan investigasi{ph1}{ph2}Contoh yang berfungsi untuk biner, "
|
||
"aplikasi Electron, dan browser.{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} Masalah GitHub{ph1}{ph2}Laporkan masalah dengan perintah dan "
|
||
"diagnostik.{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} Komunitas REA{ph1}{ph2}Pertanyaan, investigasi, dan pekerjaan yang "
|
||
"sedang berjalan.{ph3}"
|
||
|
||
#: website/public/get-started/index.html:6
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Install REA and Set Up Your Coding Agent"
|
||
msgstr "Instal REA dan Siapkan Agen Pengkodean Anda"
|
||
|
||
#: 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 ""
|
||
"Hubungkan REA ke agen pengkodean Anda atau periksa aplikasi JavaScript atau "
|
||
"Electron lokal dari terminal. Penyiapan, pertanyaan pertama, dan panduan "
|
||
"penyedia asli."
|
||
|
||
#: website/public/get-started/index.html:212
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Node.js version check"
|
||
msgstr "Salin pemeriksaan versi Node.js"
|
||
|
||
#: website/public/get-started/index.html:233
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Node.js installation command for Windows"
|
||
msgstr "Salin perintah instalasi Node.js untuk Windows"
|
||
|
||
#: website/public/get-started/index.html:256
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy PowerShell execution policy command"
|
||
msgstr "Salin perintah kebijakan eksekusi PowerShell"
|
||
|
||
#: website/public/get-started/index.html:272
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Homebrew Node.js installation command"
|
||
msgstr "Salin perintah instalasi Homebrew Node.js"
|
||
|
||
#: website/public/get-started/index.html:287
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy fnm installation command for macOS"
|
||
msgstr "Salin perintah instalasi fnm untuk macOS"
|
||
|
||
#: website/public/get-started/index.html:302
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Node.js 24 commands for macOS"
|
||
msgstr "Salin perintah Node.js 24 untuk macOS"
|
||
|
||
#: website/public/get-started/index.html:318
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy fnm installation command for Linux"
|
||
msgstr "Salin perintah instalasi fnm untuk Linux"
|
||
|
||
#: website/public/get-started/index.html:337
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Node.js 24 commands for Linux"
|
||
msgstr "Salin perintah Node.js 24 untuk Linux"
|
||
|
||
#: website/public/get-started/index.html:360
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/get-started/index.html:369
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "REA getting started guide"
|
||
msgstr "Panduan memulai REA"
|
||
|
||
#: website/public/get-started/index.html:423
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy REA installation prompt"
|
||
msgstr "Salin prompt instalasi REA"
|
||
|
||
#: website/public/get-started/index.html:469
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy agent setup command"
|
||
msgstr "Salin perintah penyiapan agen"
|
||
|
||
#: website/public/get-started/index.html:545
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy JavaScript analysis command"
|
||
msgstr "Salin perintah analisis JavaScript"
|
||
|
||
#: website/public/get-started/index.html:604
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy CLI installation command"
|
||
msgstr "Salin perintah instalasi CLI"
|
||
|
||
#: website/public/get-started/index.html:645
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Ghidra connection for macOS and Linux"
|
||
msgstr "Salin perintah koneksi Ghidra untuk macOS dan Linux"
|
||
|
||
#: website/public/get-started/index.html:677
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy Ghidra connection for Windows PowerShell"
|
||
msgstr "Salin koneksi Ghidra untuk PowerShell Windows"
|
||
|
||
#: website/public/get-started/index.html:734
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy IDA connection for Windows PowerShell"
|
||
msgstr "Salin koneksi IDA untuk PowerShell Windows"
|
||
|
||
#: website/public/get-started/index.html:775
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy native function analysis command"
|
||
msgstr "Salin perintah analisis fungsi asli"
|
||
|
||
#: website/public/get-started/index.html:815
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy client diagnosis command"
|
||
msgstr "Salin perintah diagnosis klien"
|
||
|
||
#: website/public/get-started/index.html:831
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Copy provider diagnosis command"
|
||
msgstr "Salin perintah diagnosis penyedia"
|
||
|
||
#: website/public/get-started/index.html:882
|
||
msgctxt "page:get-started/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/guides/browser/index.html:103
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / {ph2}Panduan{ph3} / Pengamatan browser"
|
||
|
||
#. {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 "Lihat apa yang terjadi{ph0}saat Anda mengklik."
|
||
|
||
#: 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 ""
|
||
"Gunakan aplikasi browser kecil untuk menghubungkan tindakan, permintaan "
|
||
"jaringannya, dan JavaScript yang membuat unduhan."
|
||
|
||
#: website/public/guides/browser/index.html:206
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "In this guide"
|
||
msgstr "Dalam panduan ini"
|
||
|
||
#. {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}Contohnya{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}Buka browser{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}Tanyakan pada agen Anda{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}Tangkap dari 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}Baca permintaan dan skrip{ph1}"
|
||
|
||
#: website/public/guides/browser/index.html:217
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "What happens when you click Export?"
|
||
msgstr "Apa yang terjadi saat Anda mengklik Ekspor?"
|
||
|
||
#. {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 ""
|
||
"The {ph0}Contoh peramban catatan{ph1} memiliki {ph2}Ekspor catatan{ph3} "
|
||
"tombol. Mengkliknya akan memuat {ph4}, memformat dua catatan sebagai CSV, "
|
||
"dan memulai pengunduhan."
|
||
|
||
#: website/public/guides/browser/index.html:226
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "From the click to the CSV download"
|
||
msgstr "Dari klik ke unduhan 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 * Kamu{ph1}{ph2}Klik Ekspor catatan{ph3}{ph4}Lakukan tindakan di "
|
||
"browser Anda saat pengambilan sedang berjalan.{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}Catat permintaannya{ph3}{ph4}Tangkap URL permintaan,"
|
||
" status respons, dan struktur JSON dari halaman yang dipilih.{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 * Agen Anda{ph1}{ph2}Baca kode ekspor{ph3}{ph4}Hubungkan permintaan "
|
||
"yang diamati ke {ph5} dalam {ph6}.{ph7}"
|
||
|
||
#: website/public/guides/browser/index.html:257
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Start the capture before clicking Export notes."
|
||
msgstr "Mulai pengambilan sebelum mengklik Ekspor catatan."
|
||
|
||
#: website/public/guides/browser/index.html:263
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Open Chrome with remote debugging"
|
||
msgstr "Buka Chrome dengan debugging jarak jauh"
|
||
|
||
#: 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 ""
|
||
"Buka contoh Catatan yang dihosting dengan profil browser terpisah dan port "
|
||
"debugging lokal. Di Linux :"
|
||
|
||
#: website/public/guides/browser/index.html:270
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Start the example browser"
|
||
msgstr "Mulai browser contoh"
|
||
|
||
#: 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 "Salin"
|
||
|
||
#: 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 ""
|
||
"Gunakan jalur eksekusi browser yang Anda instal di macOS atau Windows . Anda"
|
||
" dapat mengganti URL halaman dengan halaman lain yang ingin Anda periksa."
|
||
|
||
#: 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 terhubung ke browser yang ada ini. Anda tetap mengontrol halaman, "
|
||
"melakukan tindakan, dan menutup browser setelah selesai."
|
||
|
||
#: website/public/guides/browser/index.html:296
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Ask your agent to watch one action"
|
||
msgstr "Minta agen Anda untuk menonton satu aksi"
|
||
|
||
#. {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}Agen pengkodean Anda"
|
||
|
||
#. {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}Gunakan REA untuk memeriksa halaman ini saat saya mengklik "
|
||
"Ekspor catatan. Permintaan apa yang dibuatnya, dan bagaimana CSV "
|
||
"dibuat?{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 ""
|
||
"Contoh prompt. Berikan agen Anda titik akhir debugging, {ph0}, dan URL "
|
||
"halaman. Biarkan mulai menangkap sebelum Anda mengklik."
|
||
|
||
#: 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 ""
|
||
"Agen Anda menemukan target halaman, memulai jendela observasi, dan membaca "
|
||
"bukti yang dihasilkan. Itu kemudian dapat memeriksa skrip di balik ekspor."
|
||
|
||
#: website/public/guides/browser/index.html:332
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Or capture from the terminal"
|
||
msgstr "Atau tangkap dari terminal"
|
||
|
||
#: website/public/guides/browser/index.html:333
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Find the page's target ID:"
|
||
msgstr "Temukan ID target halaman:"
|
||
|
||
#: website/public/guides/browser/index.html:336
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Find the page"
|
||
msgstr "Temukan halamannya"
|
||
|
||
#. {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 ""
|
||
"Pilih target dengan URL contoh Catatan. Ganti {ph0} di bawah ini dengan ID -"
|
||
" nya, lalu jalankan:"
|
||
|
||
#: website/public/guides/browser/index.html:355
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Capture the next ten seconds"
|
||
msgstr "Abadikan sepuluh detik berikutnya"
|
||
|
||
#. {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 ""
|
||
"Biarkan perintah terhubung selama beberapa detik, lalu klik {ph0}Ekspor "
|
||
"catatan{ph1} pada browser tersebut. Hasilnya tiba setelah jendela observasi "
|
||
"berakhir."
|
||
|
||
#: 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 ""
|
||
"Hasil yang diambil mencakup halaman yang dipilih, aktivitas jaringan selama "
|
||
"jendela tersebut, dan bentuk respons JSON. Permintaan sebelumnya berada di "
|
||
"luar tangkapan ini."
|
||
|
||
#: website/public/guides/browser/index.html:383
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Read the request and export script"
|
||
msgstr "Baca skrip permintaan dan ekspor"
|
||
|
||
#: 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 "Direkam dengan REA 4.1.0 pada contoh Catatan lokal"
|
||
|
||
#: website/public/guides/browser/index.html:391
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Captured fact"
|
||
msgstr "Fakta yang ditangkap"
|
||
|
||
#: website/public/guides/browser/index.html:392
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Value"
|
||
msgstr "Nilai"
|
||
|
||
#: website/public/guides/browser/index.html:397
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Request"
|
||
msgstr "Permintaan"
|
||
|
||
#: website/public/guides/browser/index.html:401
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Response"
|
||
msgstr "Tanggapan"
|
||
|
||
#: website/public/guides/browser/index.html:405
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Request initiator"
|
||
msgstr "Inisiator permintaan"
|
||
|
||
#. {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} * naskah"
|
||
|
||
#: website/public/guides/browser/index.html:409
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Response structure"
|
||
msgstr "Struktur respons"
|
||
|
||
#. {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} dengan {ph1} dan {ph2} bidang"
|
||
|
||
#: website/public/guides/browser/index.html:420
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Read the loaded scripts"
|
||
msgstr "Baca skrip yang dimuat"
|
||
|
||
#. {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 ""
|
||
"Permintaan mengidentifikasi sumber data, dan catatan REA {ph0} sebagai "
|
||
"inisiatornya. Baca sumber skrip yang diambil untuk melihat bagaimana data "
|
||
"digunakan:"
|
||
|
||
#. {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 ""
|
||
"Unduhan dibuat di halaman menggunakan respons JSON. Langkah pemformatan CSV "
|
||
"berasal dari skrip; pengambilan jaringan menetapkan bahwa klik ini diminta "
|
||
"{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 ""
|
||
"Temukan skrip yang meminta {ph0}. Bagaimana cara menghindari judul yang "
|
||
"mengandung koma atau tanda kutip?"
|
||
|
||
#. {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 ""
|
||
"Untuk aplikasi JavaScript atau Electron yang diinstal, lanjutkan dengan "
|
||
"{ph0}alur kerja aplikasi{ph1} untuk mengikuti file dan batasan proses."
|
||
|
||
#: website/public/guides/browser/index.html:6
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Browser and Network Analysis — REA"
|
||
msgstr "Analisis Peramban dan Jaringan-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 ""
|
||
"Amati ekspor Catatan dengan REA: pilih halaman browser, tangkap klik, "
|
||
"periksa permintaan, dan ikuti skrip ekspor."
|
||
|
||
#: website/public/guides/browser/index.html:205
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/guides/browser/index.html:215
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Browser observation"
|
||
msgstr "Pengamatan browser"
|
||
|
||
#: website/public/guides/browser/index.html:271
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Copy start the example browser"
|
||
msgstr "Salin mulai browser contoh"
|
||
|
||
#: website/public/guides/browser/index.html:303
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Copy example prompt"
|
||
msgstr "Salin contoh prompt"
|
||
|
||
#: website/public/guides/browser/index.html:337
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Copy find the page"
|
||
msgstr "Salin temukan halaman"
|
||
|
||
#: website/public/guides/browser/index.html:356
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Copy capture the next ten seconds"
|
||
msgstr "Salin tangkap sepuluh detik berikutnya"
|
||
|
||
#: website/public/guides/browser/index.html:421
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Copy read the loaded scripts"
|
||
msgstr "Salin baca skrip yang dimuat"
|
||
|
||
#: website/public/guides/browser/index.html:507
|
||
msgctxt "page:guides/browser/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/guides/index.html:103
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / Panduan"
|
||
|
||
#: website/public/guides/index.html:195
|
||
msgctxt "page:guides/index.html"
|
||
msgid "REA guides."
|
||
msgstr "Panduan 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 ""
|
||
"Analisis fungsi asli, ekspor Electron, atau permintaan browser. Setiap "
|
||
"panduan menyertakan prompt, kode, dan hasil."
|
||
|
||
#: website/public/guides/index.html:203
|
||
msgctxt "page:guides/index.html"
|
||
msgid "First investigation"
|
||
msgstr "Investigasi pertama"
|
||
|
||
#: website/public/guides/index.html:205
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Set up REA"
|
||
msgstr "Siapkan REA"
|
||
|
||
#: website/public/guides/index.html:206
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Connect your coding agent or use REA from the terminal."
|
||
msgstr "Hubungkan agen pengkodean Anda atau gunakan REA dari terminal."
|
||
|
||
#: website/public/guides/index.html:207
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Get started with REA"
|
||
msgstr "Mulai dengan REA"
|
||
|
||
#: website/public/guides/index.html:211
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Native binaries"
|
||
msgstr "Program kode mesin"
|
||
|
||
#: website/public/guides/index.html:213
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Recover a sound-pan calculation"
|
||
msgstr "Pulihkan perhitungan posisi suara kiri / kanan"
|
||
|
||
#: 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 ""
|
||
"Mulailah dengan game Windows yang dapat dieksekusi. Periksa instruksi, ikuti"
|
||
" fungsi pemanggil, baca konstanta numerik, dan periksa C yang dipulihkan."
|
||
|
||
#: website/public/guides/index.html:224
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Native analysis guide"
|
||
msgstr "Analisis panduan program kode mesin"
|
||
|
||
#: 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 "Ikuti ekspor 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 ""
|
||
"Aplikasi Catatan kecil menyebarkan satu fitur ke penyaji, pramuat, dan "
|
||
"proses utama. Gunakan REA untuk menghubungkan API, saluran IPC, dan penulis "
|
||
"file."
|
||
|
||
#: website/public/guides/index.html:241
|
||
msgctxt "page:guides/index.html"
|
||
msgid "JavaScript & Electron guide"
|
||
msgstr "Panduan 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 ""
|
||
"Untuk aplikasi paket yang lebih besar, ikuti {ph0} Jembatan papan klip "
|
||
"Notion{ph1}."
|
||
|
||
#: website/public/guides/index.html:251
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Browser behavior"
|
||
msgstr "Perilaku peramban"
|
||
|
||
#: website/public/guides/index.html:253
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Observe a click"
|
||
msgstr "Amati satu klik"
|
||
|
||
#: 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 ""
|
||
"Buka contoh Catatan kerja, tangkap permintaan ekspor, dan temukan kode yang "
|
||
"mengubah responsnya menjadi unduhan."
|
||
|
||
#: website/public/guides/index.html:263
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Browser observation guide"
|
||
msgstr "Panduan pengamatan browser"
|
||
|
||
#: website/public/guides/index.html:6
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Reverse Engineering Guides — REA"
|
||
msgstr "Panduan Rekayasa Terbalik-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 ""
|
||
"Pelajari REA melalui contoh singkat yang berhasil: perhitungan asli, ekspor "
|
||
"Electron CSV, dan permintaan browser."
|
||
|
||
#: website/public/guides/index.html:282
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/guides/javascript/index.html:103
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / {ph2}Panduan{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 "Lacak sebuah Electron {ph0} Ekspor 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 ""
|
||
"Ikuti satu klik tombol dari page API, melalui Electron IPC, ke CSV file "
|
||
"writer."
|
||
|
||
#: website/public/guides/javascript/index.html:206
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "In this guide"
|
||
msgstr "Dalam panduan ini"
|
||
|
||
#. {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}Contohnya{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}Tanyakan pada agen Anda{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}Lacak kode ekspor{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}Coba contohnya{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}Periksa penulis CSV{ph1}"
|
||
|
||
#: website/public/guides/javascript/index.html:217
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Where does “Export notes” go?"
|
||
msgstr "Ke mana perginya \"Catatan ekspor\"?"
|
||
|
||
#. {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 ""
|
||
"Panduan ini menggunakan aplikasi Electron kecil. Mengklik {ph0}Ekspor "
|
||
"catatan{ph1} memanggil API di halaman, masuk ke proses utama, dan menulis "
|
||
"CSV . Perilaku tersebut tersebar di beberapa file."
|
||
|
||
#: website/public/guides/javascript/index.html:225
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "The CSV export across Electron processes"
|
||
msgstr "Ekspor CSV di seluruh proses 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}Perender → {ph1}{ph2}{ph3}{ph4}{ph5}{ph6} memanggil API yang diekspos "
|
||
"oleh {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}Antara proses{ph1}{ph2}{ph3}{ph4}{ph5}Preload memanggil saluran IPC: "
|
||
"pesan bernama ke proses utama.{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}Proses utama{ph1}{ph2}Penangan ekspor{ph3}{ph4}{ph5} menangani saluran "
|
||
"itu dan memanggil penulis 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} memformat catatan → {ph1} menulis {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 cocok dengan panggilan IPC literal ke penangannya dan mengidentifikasi "
|
||
"API yang terbuka. Jalur disimpulkan dari kode; tangkapan waktu proses dapat "
|
||
"memeriksa apa yang dijalankan."
|
||
|
||
#: website/public/guides/javascript/index.html:266
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Ask about the CSV export"
|
||
msgstr "Tanyakan tentang ekspor 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}Hubungkan agen Anda ke REA {ph1} dan berikan direktori aplikasi atau "
|
||
"file 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}Agen pengkodean Anda"
|
||
|
||
#: website/public/guides/javascript/index.html:277
|
||
#: website/public/guides/javascript/index.html:426
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Copy"
|
||
msgstr "Salin"
|
||
|
||
#. {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}Gunakan REA untuk menemukan apa yang terjadi ketika saya "
|
||
"mengekspor catatan di aplikasi ini. Di mana CSV dibuat?{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 "Contoh prompt. Sertakan jalur absolut ke folder aplikasi atau {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 membaca file aplikasi dan membuat peta titik masuk, modul, dan batas "
|
||
"proses. Agen Anda menggunakan peta tersebut untuk mempersempit penyelidikan "
|
||
"ke fitur ekspor."
|
||
|
||
#: website/public/guides/javascript/index.html:305
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Trace the export code"
|
||
msgstr "Lacak kode ekspor"
|
||
|
||
#: website/public/guides/javascript/index.html:306
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "The page calls a small API"
|
||
msgstr "Halaman tersebut memanggil API kecil"
|
||
|
||
#: 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 ""
|
||
"Halaman mengetahui nama metode. Implementasinya hidup dalam preload, yang "
|
||
"memaparkannya ke penyaji."
|
||
|
||
#. {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 ""
|
||
"Catatan REA {ph0} dan saluran literal {ph1}. Ini memasangkan pemanggilan itu"
|
||
" dengan penangan pencocokan tunggal dalam proses utama."
|
||
|
||
#. {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 ""
|
||
"Membaca handler menjawab pertanyaan awal: {ph0} memformat catatan, dan "
|
||
"proses utama menulis {ph1} ke dalam folder Unduhan pengguna."
|
||
|
||
#: 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 ""
|
||
"Direkam oleh REA 4.1.0 pada contoh yang dapat diunduh di bawah ini. Lokasi "
|
||
"sumber menyertai temuan API, saluran, dan penangan."
|
||
|
||
#: website/public/guides/javascript/index.html:373
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Analyze the example yourself"
|
||
msgstr "Analisis sendiri contohnya"
|
||
|
||
#. {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}Unduh contoh ZIP{ph1}"
|
||
|
||
#: website/public/guides/javascript/index.html:389
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Browse the six source files"
|
||
msgstr "Jelajahi enam file sumber"
|
||
|
||
#: website/public/guides/javascript/index.html:425
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Static application analysis"
|
||
msgstr "Analisis aplikasi statis"
|
||
|
||
#. {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 ""
|
||
"Ganti jalur dengan folder yang Anda buka ritsletingnya. Anda harus menemukan"
|
||
" satu saluran IPC dan satu pengendali yang cocok di {ph0}. Lokasi sumber ada"
|
||
" di {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 ""
|
||
"Untuk aplikasi Anda sendiri, gunakan perintah yang sama dengan direktori "
|
||
"atau jalur ASAR. Agen dapat mengikuti string literal, nama API, atau saluran"
|
||
" IPC dengan alat penelusuran fitur REA."
|
||
|
||
#: website/public/guides/javascript/index.html:451
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Inspect the CSV writer"
|
||
msgstr "Periksa penulis 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 ""
|
||
"Ikuti {ph0} untuk pawangnya. Input mana yang mencapai penulis CSV, dan apa "
|
||
"yang terjadi jika penulisan file gagal?"
|
||
|
||
#: 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 ""
|
||
"Gunakan lokasi sumber untuk memeriksa detail tersebut. Nama saluran yang "
|
||
"dihitung dan penangan ambigu dapat tetap tidak terselesaikan; pengamatan "
|
||
"runtime memberi Anda cara lain untuk menyelidikinya."
|
||
|
||
#. {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}Ikuti jembatan papan klip Notion{ph1} {ph2}Terapkan pendekatan yang "
|
||
"sama ke aplikasi Electron yang dikemas.{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}Amati ekspor browser{ph1}{ph2}Tangkap klik nyata dan lihat permintaan "
|
||
"mana yang dibuatnya.{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}Ikuti fungsi asli{ph1}{ph2}Lanjutkan ke biner saat fitur bergantung "
|
||
"pada kode asli.{ph3}"
|
||
|
||
#: website/public/guides/javascript/index.html:6
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "JavaScript and Electron Analysis — REA"
|
||
msgstr "Analisis JavaScript dan 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 ""
|
||
"Lacak ekspor Catatan CSV melalui perender API, pramuat, dan penangan IPC "
|
||
"dengan REA . Termasuk file contoh yang dapat diunduh dan hasil analisis yang"
|
||
" diverifikasi."
|
||
|
||
#: website/public/guides/javascript/index.html:205
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: 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 "Salin contoh prompt"
|
||
|
||
#: website/public/guides/javascript/index.html:426
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Copy static application analysis"
|
||
msgstr "Salin analisis aplikasi statis"
|
||
|
||
#: website/public/guides/javascript/index.html:503
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/guides/native/index.html:103
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / {ph2}Panduan{ph3} / Analisis program kode mesin"
|
||
|
||
#. {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 "Recover DX-Ball{ph0}perhitungan posisi suara kiri/kanan."
|
||
|
||
#: 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 ""
|
||
"Periksa instruksi asli, identifikasi input dan konstanta, lalu periksa C "
|
||
"yang dipulihkan."
|
||
|
||
#: website/public/guides/native/index.html:205
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "In this guide"
|
||
msgstr "Dalam panduan ini"
|
||
|
||
#. {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}Contohnya{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}Tanyakan pada agen Anda{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}Baca hasil 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}Pulihkan dan periksa{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}Gunakan biner Anda sendiri{ph1}"
|
||
|
||
#: website/public/guides/native/index.html:216
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Calculate left/right sound panning"
|
||
msgstr "Hitung posisi suara stereo kiri / kanan"
|
||
|
||
#: 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 ""
|
||
"Di DX-Ball, pukulan keras memasok posisi layar horizontal. Kode suara "
|
||
"mengubahnya menjadi nilai panning kiri/kanan."
|
||
|
||
#. {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 ""
|
||
"Fungsi awal, {ph0}, memiliki hasil dekompiler singkat: panggilan ke {ph1}. "
|
||
"REA juga mengembalikan instruksi dan fungsi pemanggilnya, yang memberi agen "
|
||
"cara untuk menyelidiki aritmatika yang hilang."
|
||
|
||
#: website/public/guides/native/index.html:228
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "New to these terms?"
|
||
msgstr "Baru mengenal istilah ini?"
|
||
|
||
#. {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}Instruksi:{ph1} langkah-langkah yang dijalankan prosesor, ditampilkan "
|
||
"dalam bentuk yang dapat dibaca seperti {ph2} atau {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}Hasil dekompiler / pseudocode:{ph1} upaya alat analisis untuk mengubah "
|
||
"instruksi kembali menjadi kode mirip C. Itu bisa kehilangan bagian, seperti "
|
||
"dalam contoh ini."
|
||
|
||
#. {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}Fungsi pemanggil:{ph1} sebuah fungsi yang memanggil yang satu ini. Ini "
|
||
"menunjukkan nilai mana yang diteruskan."
|
||
|
||
#. {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}Alamat:{ph1} lokasi dalam program, ditulis dalam heksadesimal, seperti "
|
||
"{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}Konstanta:{ph1} nomor tetap yang disimpan dalam program, dibaca sebagai"
|
||
" byte mentah dan diterjemahkan."
|
||
|
||
#: website/public/guides/native/index.html:255
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Three pieces of evidence, one calculation"
|
||
msgstr "Tiga bukti, satu perhitungan"
|
||
|
||
#. {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 * Instruksi{ph1}{ph2}Masukan bilangan bulat{ph3}{ph4}Pembacaan "
|
||
"tumpukan memasok nilai yang digunakan oleh instruksi floating-point.{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 * Fungsi pemanggil{ph1}{ph2}Koordinat layar{ph3}{ph4}Fungsi "
|
||
"pemanggil yang dipukul dengan batu bata lolos {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 * Byte data{ph1}{ph2}Konstanta numerik{ph3}{ph4}Byte yang "
|
||
"direferensikan didekode ke {ph5}, {ph6} dan nilai skala.{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 menyediakan instruksi, hubungan panggilan fungsi, dan byte. Agen "
|
||
"menafsirkannya bersama-sama."
|
||
|
||
#: website/public/guides/native/index.html:294
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Ask about the behavior"
|
||
msgstr "Tanyakan tentang perilakunya"
|
||
|
||
#. {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 ""
|
||
"Setelah {ph0}menghubungkan REA ke agen Anda{ph1} dan {ph2}menyiapkan alat "
|
||
"analisis program kode mesin{ph3}, berikan executable lokal dan pertanyaan:"
|
||
|
||
#: website/public/guides/native/index.html:306
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Which analysis tool should I use?"
|
||
msgstr "Alat analisis mana yang harus saya gunakan?"
|
||
|
||
#: 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 membutuhkan salah satunya untuk membaca program asli:"
|
||
|
||
#. {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 atau Linux ): Pengaturan REA mendeteksi atau "
|
||
"menawarkan untuk menginstalnya. Di macOS, buka Hopper sekali dan pilih mode "
|
||
"demo atau aktifkan lisensi sebelum analisis pertama Anda."
|
||
|
||
#. {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 atau Linux; eksperimental pada Windows): gratis, "
|
||
"tetapi membutuhkan Ghidra 12.1 yang sudah ada.instalasi x dan JDK 64-bit 21 "
|
||
"atau yang lebih baru."
|
||
|
||
#. {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): untuk pengaturan IDA yang ada dengan pendaftaran"
|
||
" 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 ""
|
||
"Lihat {ph0}Menyiapkan analisis program kode mesin{ph1} untuk langkah-"
|
||
"langkahnya."
|
||
|
||
#. {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}Agen pengkodean Anda"
|
||
|
||
#: website/public/guides/native/index.html:337
|
||
#: website/public/guides/native/index.html:468
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Copy"
|
||
msgstr "Salin"
|
||
|
||
#. {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}Gunakan REA untuk menemukan cara DX-Ball menghitung "
|
||
"pemosisian suara stereo. Jelaskan perhitungannya dan tunjukkan "
|
||
"kodenya.{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 ""
|
||
"Contoh prompt. Berikan agen Anda jalur ke DX-Ball 1.07 lokal Anda yang dapat"
|
||
" dieksekusi. REA tidak menyertakan DX-Ball, jadi gunakan salinan Anda "
|
||
"sendiri, atau ajukan pertanyaan yang sama tentang program Windows kecil "
|
||
"lainnya yang Anda miliki."
|
||
|
||
#: website/public/guides/native/index.html:361
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "How do I get a file's full path?"
|
||
msgstr "Bagaimana cara mendapatkan path lengkap file?"
|
||
|
||
#. {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} di File Explorer, klik kanan file tersebut dan pilih "
|
||
"{ph2}Salin sebagai jalur{ph3}. Pada Windows 10, tahan Shift sambil mengklik "
|
||
"kanan."
|
||
|
||
#. {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} di Finder, klik kanan file, tahan Opsi, dan pilih "
|
||
"{ph2}Salin \" ... \" sebagai Nama Jalur{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}Sistem apa pun:{ph1} seret file ke jendela terminal dan jalurnya "
|
||
"muncul."
|
||
|
||
#: website/public/guides/native/index.html:380
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Read the REA results"
|
||
msgstr "Baca hasil REA"
|
||
|
||
#: website/public/guides/native/index.html:381
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Read the input"
|
||
msgstr "Baca inputnya"
|
||
|
||
#: 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 ""
|
||
"Instruksi memuat argumen integer dan mengubahnya menjadi aritmatika "
|
||
"floating-point. Ini adalah input yang tidak ada dari tampilan pseudocode "
|
||
"pertama."
|
||
|
||
#: website/public/guides/native/index.html:395
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Follow the caller"
|
||
msgstr "Ikuti fungsi pemanggil"
|
||
|
||
#. {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 mengidentifikasi fungsi pemanggil yang terkena pukulan keras. Instruksi "
|
||
"sebelumnya mengalikan koordinat ubin dengan 30; menambahkan {ph0} (20) "
|
||
"memberikan posisi layar bata."
|
||
|
||
#: website/public/guides/native/index.html:409
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Read the referenced constants"
|
||
msgstr "Baca konstanta yang dirujuk"
|
||
|
||
#: 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 ""
|
||
"Aritmatika mereferensikan alamat-alamat ini. Membaca byte memberikan nilai "
|
||
"aktual; urutan instruksi memberi tahu agen bagaimana mereka digunakan."
|
||
|
||
#: website/public/guides/native/index.html:427
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Write and check the recovered function"
|
||
msgstr "Tulis dan periksa fungsi yang dipulihkan"
|
||
|
||
#: 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 ""
|
||
"Dengan skala 1,0, posisi layar 0, 320, dan 640 dipetakan ke -500, 0, dan 500"
|
||
" sebelum konversi bilangan bulat. Perhitungan menempatkan bagian tengah "
|
||
"layar di tengah bidang stereo."
|
||
|
||
#: 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 ""
|
||
"Agen menggunakan temuan REA untuk menulis C. Pemeriksaan terpisah "
|
||
"membandingkan 3.205 input dengan fungsi x86 asli dan mereproduksi semua 63 "
|
||
"byte yang dikompilasi dari fungsi lengkap."
|
||
|
||
#. {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}Lihat investigasi lengkap dan perbandingan assembly-to-C{ph1}"
|
||
|
||
#: website/public/guides/native/index.html:453
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Try it with your own binary"
|
||
msgstr "Cobalah dengan biner Anda sendiri"
|
||
|
||
#. {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}Hubungkan analisis penyedia program kode mesin{ph1}, lalu berikan agen "
|
||
"Anda executable atau pustaka lokal dan fitur untuk diselidiki. Pertanyaan "
|
||
"awal yang berguna termasuk \"Bagaimana file ini diuraikan?\"atau\" Fungsi "
|
||
"mana yang menangani tindakan menu ini?”"
|
||
|
||
#: 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 ""
|
||
"Jika Anda sudah mengetahui nama atau alamat fungsi, Anda dapat menanyakannya"
|
||
" dari terminal. Untuk instalasi Ghidra yang dikonfigurasi:"
|
||
|
||
#: website/public/guides/native/index.html:467
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Function analysis"
|
||
msgstr "Analisis fungsi"
|
||
|
||
#. {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 ""
|
||
"Ganti jalur target dan {ph0} dengan nama atau alamat fungsi Anda sendiri. "
|
||
"Setiap pemanggilan CLI mengimpor dan menganalisis biner, lalu menutup "
|
||
"sesinya. Kueri MCP agen Anda menggunakan kembali biner yang diimpor saat "
|
||
"sesi tersebut dibuka."
|
||
|
||
#: 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 ""
|
||
"Baca pseudocode di samping instruksi dan referensi. Saat hasil membuat "
|
||
"panggilan atau nilai tidak terselesaikan, gunakan lokasi tersebut sebagai "
|
||
"pertanyaan berikutnya."
|
||
|
||
#: website/public/guides/native/index.html:6
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Native Binary Analysis — REA"
|
||
msgstr "Analisis Biner Asli-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 ""
|
||
"Pulihkan perhitungan asli dengan REA : periksa instruksi, ikuti fungsi "
|
||
"pemanggil, baca konstanta, dan periksa C yang direkonstruksi."
|
||
|
||
#: website/public/guides/native/index.html:204
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/guides/native/index.html:214
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Native analysis"
|
||
msgstr "Analisis program kode mesin"
|
||
|
||
#: website/public/guides/native/index.html:337
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Copy example prompt"
|
||
msgstr "Salin contoh prompt"
|
||
|
||
#: website/public/guides/native/index.html:468
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Copy function analysis"
|
||
msgstr "Salin analisis fungsi"
|
||
|
||
#: website/public/guides/native/index.html:509
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/index.html:105
|
||
msgctxt "page:index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#: website/public/index.html:196 website/public/index.html:206
|
||
#: website/public/index.html:204
|
||
msgctxt "page:index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/index.html:197 website/public/index.html:251
|
||
msgctxt "page:index.html"
|
||
msgid "Set up REA"
|
||
msgstr "Siapkan 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}Siapkan 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}Apa itu RE?{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}Bagaimana REA membantu{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}Permainan dinosaurus{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}Kalkulator{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}Coba 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}Pelajari lebih lanjut{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}Bantuan & umpan balik{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}Komunitas{ph1}"
|
||
|
||
#: website/public/index.html:225
|
||
msgctxt "page:index.html"
|
||
msgid "Reverse engineering, with your coding agent"
|
||
msgstr "Rekayasa balik, dengan agen pengkodean Anda"
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/index.html:226
|
||
#, python-brace-format
|
||
msgctxt "page:index.html"
|
||
msgid "Find out how{ph0}software works."
|
||
msgstr "Cari tahu bagaimana{ph0}perangkat lunak bekerja."
|
||
|
||
#: 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 menyediakan alat bagi agen pemrograman Anda untuk memeriksa program dan "
|
||
"menjelaskan cara kerjanya."
|
||
|
||
#. {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 "Sudah tahu RE? {ph0}Lewati ke panduan analisis →{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 "Ingin lebih dalam? {ph0}Baca Blognya →{ph1}"
|
||
|
||
#: website/public/index.html:252
|
||
msgctxt "page:index.html"
|
||
msgid "Copy this into your coding agent:"
|
||
msgstr "Tempel prompt ini ke agen pemrograman Anda:"
|
||
|
||
#. {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}Agen pengkodean Anda"
|
||
|
||
#: 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 "Salin"
|
||
|
||
#: website/public/index.html:279
|
||
msgctxt "page:index.html"
|
||
msgid "Or run this in your terminal:"
|
||
msgstr "Atau jalankan perintah ini di terminal:"
|
||
|
||
#: website/public/index.html:291
|
||
msgctxt "page:index.html"
|
||
msgid "Approve the setup plan, then restart your agent."
|
||
msgstr "Periksa dan setujui rencana perubahan, lalu mulai ulang agen Anda."
|
||
|
||
#: website/public/index.html:306
|
||
msgctxt "page:index.html"
|
||
msgid "What is reverse engineering?"
|
||
msgstr "Apa itu rekayasa balik?"
|
||
|
||
#. {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 ""
|
||
"Memahami cara kerja perangkat lunak dengan {ph0}memeriksa program itu "
|
||
"sendiri.{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 ""
|
||
"Tujuannya: memahami fitur dengan cukup baik untuk {ph0}jelaskan{ph1}, "
|
||
"{ph2}ubahlah{ph3} atau {ph4}bangun kembali.{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 "Sebelum REA · Anda menyelidikinya {ph0}sendiri{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} Dekode cabang"
|
||
|
||
#. {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} Melacak panggilan"
|
||
|
||
#. {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} Pulihkan aturan"
|
||
|
||
#. {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}x64 asli * instruksi yang dipilih{ph1} {ph2}{ph3}"
|
||
|
||
#: website/public/index.html:409
|
||
msgctxt "page:index.html"
|
||
msgid "01 · Which branch?"
|
||
msgstr "01 * Cabang mana?"
|
||
|
||
#. {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}0x5b? 0x5c?{ph1} Dua lompatan ke tempat yang sama. Operator mana ini?”"
|
||
|
||
#: website/public/index.html:414
|
||
msgctxt "page:index.html"
|
||
msgid "Look up the command IDs, then label the branch."
|
||
msgstr "Cari ID perintah, lalu beri label pada cabang."
|
||
|
||
#: website/public/index.html:420
|
||
msgctxt "page:index.html"
|
||
msgid "Divide ÷"
|
||
msgstr "Membagi ÷"
|
||
|
||
#: website/public/index.html:424
|
||
msgctxt "page:index.html"
|
||
msgid "Multiply ×"
|
||
msgstr "Kalikan ×"
|
||
|
||
#: website/public/index.html:429
|
||
msgctxt "page:index.html"
|
||
msgid "02 · What do the calls do?"
|
||
msgstr "02 · Apa yang dilakukan fungsi yang dipanggil?"
|
||
|
||
#. {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 sudah jelas. Panggilan itu hanya alamat. {ph0}Yang mana yang membelah?"
|
||
" Nilai mana yang masuk?{ph1}”"
|
||
|
||
#: website/public/index.html:435
|
||
msgctxt "page:index.html"
|
||
msgid "Inspect the helpers and trace the stored values."
|
||
msgstr "Periksa fungsi pembantu dan lacak nilai yang disimpan."
|
||
|
||
#: website/public/index.html:445
|
||
msgctxt "page:index.html"
|
||
msgid "Divide"
|
||
msgstr "Membagi"
|
||
|
||
#: website/public/index.html:450
|
||
msgctxt "page:index.html"
|
||
msgid "03 · What is the rule?"
|
||
msgstr "03 · Apa aturannya?"
|
||
|
||
#. {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 ""
|
||
"\"Jalur ini dikalikan dengan masukan lainnya. Jadi {ph0}10% berarti 10% dari"
|
||
" 200{ph1} setelah +.”"
|
||
|
||
#: website/public/index.html:455
|
||
msgctxt "page:index.html"
|
||
msgid "Name the operands and check both operator paths."
|
||
msgstr "Beri nama operan dan periksa kedua jalur operator."
|
||
|
||
#: website/public/index.html:471 website/public/index.html:399
|
||
msgctxt "page:index.html"
|
||
msgid "Illustrative expert reasoning"
|
||
msgstr "Penalaran ahli ilustratif"
|
||
|
||
#. {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}Anda memecahkan kode instruksi, mengikuti pemanggilan fungsi, dan "
|
||
"merekonstruksi perhitungannya.{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 "Dengan REA · Anda bertanya kepada {ph0}agen Anda{ph1}"
|
||
|
||
#: website/public/index.html:486
|
||
msgctxt "page:index.html"
|
||
msgid "One prompt."
|
||
msgstr "Cukup satu prompt."
|
||
|
||
#. {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 "Tanyakan kepada agen Anda {ph0}dengan bahasa sehari-hari.{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}Contoh prompt * Kalkulator"
|
||
|
||
#: website/public/index.html:514
|
||
msgctxt "page:index.html"
|
||
msgid "Example answer · based on the findings"
|
||
msgstr "Contoh jawaban * berdasarkan temuan"
|
||
|
||
#. {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 ""
|
||
"Setelah +, tombol % mengambil {ph0}persentase dari angka pertama.{ph1}"
|
||
|
||
#: website/public/index.html:529
|
||
msgctxt "page:index.html"
|
||
msgid "REA supplies"
|
||
msgstr "REA menyediakan"
|
||
|
||
#: website/public/index.html:530
|
||
msgctxt "page:index.html"
|
||
msgid "The handler’s instructions, decompiled code and calls."
|
||
msgstr "Instruksi pawang, kode yang didekompilasi, dan panggilan."
|
||
|
||
#: website/public/index.html:535
|
||
msgctxt "page:index.html"
|
||
msgid "Your agent explains"
|
||
msgstr "Agen Anda menjelaskan"
|
||
|
||
#: website/public/index.html:536
|
||
msgctxt "page:index.html"
|
||
msgid "Which branch applies, what it calculates and how to rebuild it."
|
||
msgstr ""
|
||
"Cabang mana yang berlaku, apa yang menghitungnya, dan bagaimana membangunnya"
|
||
" kembali."
|
||
|
||
#. {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 ""
|
||
"Rakitan yang dipilih dari Kalkulator DLL yang diinstal. Pemikiran dan "
|
||
"balasannya menggambarkan temuan tersebut. {ph0}Lanjutkan dengan contoh "
|
||
"Kalkulator ↓{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}Mari kita coba dua contoh.{ph1} Ubah kecepatan permainan, lalu kembali "
|
||
"ke Kalkulator dan buat kembali tombol % - nya."
|
||
|
||
#: website/public/index.html:560
|
||
msgctxt "page:index.html"
|
||
msgid "Example 01 · Chrome’s dinosaur game"
|
||
msgstr "Contoh 01 * Game dinosaurus Chrome"
|
||
|
||
#: website/public/index.html:561
|
||
msgctxt "page:index.html"
|
||
msgid "Why does the dinosaur get faster?"
|
||
msgstr "Mengapa dinosaurus semakin cepat?"
|
||
|
||
#: website/public/index.html:565 website/public/index.html:803
|
||
msgctxt "page:index.html"
|
||
msgid "Goal"
|
||
msgstr "Tujuan"
|
||
|
||
#. {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 ""
|
||
"Bangun kembali game dengan {ph0}kecepatan yang dapat disesuaikan.{ph1}"
|
||
|
||
#: website/public/index.html:572 website/public/index.html:810
|
||
msgctxt "page:index.html"
|
||
msgid "Why reverse engineer it?"
|
||
msgstr "Mengapa merekayasa baliknya?"
|
||
|
||
#. {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 ""
|
||
"Untuk mereproduksi percepatannya, kita membutuhkan {ph0}aturan dalam "
|
||
"permainan lari{ph1}: seberapa cepat dimulai, seberapa banyak meningkat dan "
|
||
"kapan berhenti."
|
||
|
||
#: website/public/index.html:582
|
||
msgctxt "page:index.html"
|
||
msgid "Play the reconstruction"
|
||
msgstr "Mainkan hasil rekonstruksi"
|
||
|
||
#: website/public/index.html:614
|
||
msgctxt "page:index.html"
|
||
msgid "Play"
|
||
msgstr "Main"
|
||
|
||
#: website/public/index.html:617
|
||
msgctxt "page:index.html"
|
||
msgid "Jump ↑"
|
||
msgstr "Lompat ↑"
|
||
|
||
#: website/public/index.html:618
|
||
msgctxt "page:index.html"
|
||
msgid "Restart"
|
||
msgstr "Mulai ulang"
|
||
|
||
#: website/public/index.html:621
|
||
msgctxt "page:index.html"
|
||
msgid "Speed"
|
||
msgstr "Kecepatan"
|
||
|
||
#: website/public/index.html:631
|
||
msgctxt "page:index.html"
|
||
msgid "Use the recovered acceleration rule"
|
||
msgstr "Gunakan aturan akselerasi yang dipulihkan"
|
||
|
||
#: website/public/index.html:635
|
||
msgctxt "page:index.html"
|
||
msgid "Original rule: start at 6, then increase toward 13."
|
||
msgstr "Aturan awal: mulai dari 6, lalu tingkatkan menjadi 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 ""
|
||
"Gerakkan penggeser untuk mengatur kecepatan Anda sendiri. Ruang atau "
|
||
"Lompatan membersihkan kaktus."
|
||
|
||
#: website/public/index.html:643
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Enable JavaScript to play the reconstruction. The code and explanation above"
|
||
" remain readable."
|
||
msgstr ""
|
||
"Aktifkan JavaScript untuk memainkan rekonstruksi. Kode dan penjelasan di "
|
||
"atas tetap dapat dibaca."
|
||
|
||
#: website/public/index.html:651 website/public/index.html:881
|
||
msgctxt "page:index.html"
|
||
msgid "REA returned"
|
||
msgstr "REA mengembalikan"
|
||
|
||
#. {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}Skrip benar-benar berjalan di halaman.{ph1} Agen membaca fungsi "
|
||
"pembaruan dan pengaturan kecepatannya, lalu menggunakan aturan tersebut di "
|
||
"game baru."
|
||
|
||
#. {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}Contoh prompt * Permainan dinosaurus"
|
||
|
||
#. {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}Gunakan REA untuk memeriksa game dinosaurus ini. Mengapa "
|
||
"menjadi lebih cepat? Tampilkan aturan kecepatan, lalu buat versi kecil "
|
||
"dengan kecepatan yang dapat disesuaikan.{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 ""
|
||
"Target yang diperiksa: {ph0}edisi peramban turunan Chromium wayou{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}Mulai dari 6.{ph1} Tambahkan {ph2}0.001{ph3} setiap pembaruan tanpa "
|
||
"tabrakan, sementara kecepatan di bawah {ph4}13{ph5}."
|
||
|
||
#: website/public/index.html:705
|
||
msgctxt "page:index.html"
|
||
msgid "Open the speed lab →"
|
||
msgstr "Buka lab kecepatan →"
|
||
|
||
#: website/public/index.html:711
|
||
msgctxt "page:index.html"
|
||
msgid "What each part does"
|
||
msgstr "Apa yang dilakukan setiap bagian"
|
||
|
||
#. {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}Baca skrip game yang sedang "
|
||
"berjalan{ph3}{ph4}Kembalikan kode dan pengaturannya yang sebenarnya ke "
|
||
"agen.{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 * Agen Anda{ph1}{ph2}Bangun kembali aturan, tambahkan "
|
||
"kontrol{ph3}{ph4}Gunakan akselerasi yang dipulihkan dalam gim kecil dengan "
|
||
"penggeser kecepatan.{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 * Kamu{ph1}{ph2}Mengubah kecepatan dan bermain{ph3}{ph4}Coba "
|
||
"akselerasi asli, lalu pilih kecepatan Anda sendiri.{ph5}"
|
||
|
||
#: website/public/index.html:739
|
||
msgctxt "page:index.html"
|
||
msgid "See the script, checks and how to try the analysis"
|
||
msgstr "Lihat skrip, cek, dan cara mencoba analisisnya"
|
||
|
||
#. {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 memeriksa edisi browser HTTP melalui koneksi debugging lokal dan "
|
||
"mengembalikan yang dimuat {ph0}, termasuk sumber dan intisarinya."
|
||
|
||
#: 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 ""
|
||
"Kami menyebut fungsi pembaruan game asli dalam pemeriksaan browser yang "
|
||
"terkontrol, dengan hambatan dan penjadwalan otomatis dinonaktifkan. Setelah "
|
||
"4.000 pembaruan, kecepatannya menjadi 10,0; setelah 10.000, kecepatannya "
|
||
"menjadi 13,0, dibulatkan menjadi satu desimal."
|
||
|
||
#. {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 ""
|
||
"Mini-game baru mempertahankan aturan kecepatan itu. Kode menggambar, "
|
||
"melompat, dan bertabrakan adalah implementasi pengajaran yang kecil. "
|
||
"{ph0}Buka labnya{ph1} untuk melihat kode baru dan menjalankan pemeriksaan "
|
||
"kecepatan yang sama."
|
||
|
||
#. {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 ""
|
||
"Untuk memeriksa target sendiri, ikuti {ph0}langkah-langkah koneksi "
|
||
"browser{ph1} menggunakan {ph2}halaman dinosaurus{ph3}. Berikan URL halaman "
|
||
"tersebut kepada agen Anda dan titik akhir debugging lokal Anda, lalu salin "
|
||
"perintah di atas."
|
||
|
||
#. {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}Kode kecepatan yang diperiksa{ph1} · {ph2} Penulis Chromium * Lisensi "
|
||
"BSD{ph3}"
|
||
|
||
#: website/public/index.html:793
|
||
msgctxt "page:index.html"
|
||
msgid "Example 02 · Windows Calculator"
|
||
msgstr "Contoh 02 * Kalkulator Windows"
|
||
|
||
#: website/public/index.html:794
|
||
msgctxt "page:index.html"
|
||
msgid "Rebuild Calculator’s % button."
|
||
msgstr "Buat ulang tombol % Kalkulator."
|
||
|
||
#. {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 "Buat kalkulator kecil yang menangani {ph0}keduanya + dan × {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 ""
|
||
"Tombol yang sama menggunakan {ph0}aturan berbeda setelah + dan ×{ph1} Kami "
|
||
"memeriksa aplikasi yang diinstal untuk menemukan angka persentase yang "
|
||
"diterapkan."
|
||
|
||
#: website/public/index.html:820
|
||
msgctxt "page:index.html"
|
||
msgid "Try the calculation"
|
||
msgstr "Coba perhitungannya"
|
||
|
||
#: website/public/index.html:864
|
||
msgctxt "page:index.html"
|
||
msgid "Reset"
|
||
msgstr "Reset"
|
||
|
||
#: website/public/index.html:872
|
||
msgctxt "page:index.html"
|
||
msgid "10% of 200 = 20. Then 200 + 20 = 220."
|
||
msgstr "10% dari 200 = 20. Kemudian 200 + 20 = 220."
|
||
|
||
#: website/public/index.html:875
|
||
msgctxt "page:index.html"
|
||
msgid "Interactive illustration of the inspected percentage rule."
|
||
msgstr "Ilustrasi interaktif dari aturan persentase yang diinspeksi."
|
||
|
||
#. {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}Satu cabang dibagi dengan 100. Yang lain juga dikalikan dengan angka "
|
||
"pertama.{ph1} Agen menggunakan keduanya untuk membuat ulang tombol%."
|
||
|
||
#. {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 "Untuk contoh ini, {ph0} dan {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}Contoh prompt * Bangun kembali "
|
||
"tombol %"
|
||
|
||
#. {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}Gunakan REA untuk memeriksa tombol % Kalkulator Windows. "
|
||
"Pulihkan aturan setelah + dan × {ph3}{ph4}{ph5}"
|
||
|
||
#: website/public/index.html:931
|
||
msgctxt "page:index.html"
|
||
msgid "With +"
|
||
msgstr "Dengan +"
|
||
|
||
#. {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}Ambil 10% dari angka pertama.{ph1}{ph2}"
|
||
|
||
#: website/public/index.html:938
|
||
msgctxt "page:index.html"
|
||
msgid "With ×"
|
||
msgstr "Dengan ×"
|
||
|
||
#. {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}Ubah 10% menjadi 0,1.{ph1}{ph2}"
|
||
|
||
#: website/public/index.html:948
|
||
msgctxt "page:index.html"
|
||
msgid "From the installed app to a working % button"
|
||
msgstr "Dari aplikasi yang diinstal ke tombol % yang berfungsi"
|
||
|
||
#. {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 membaca perpustakaan{ph1}{ph2}Kembalikan kode % "
|
||
"handler{ph3}{ph4}Fungsi memeriksa operator dan menggunakan konstanta "
|
||
"{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 * Agen Anda menafsirkannya{ph1}{ph2}Menjelaskan dan mereproduksi "
|
||
"aturan{ph3}{ph4}Periksa silang cabang dengan sumber Microsoft, lalu coba + "
|
||
"dan × {ph5}"
|
||
|
||
#: website/public/index.html:980
|
||
msgctxt "page:index.html"
|
||
msgid "See the real code and how the answer was checked"
|
||
msgstr "Lihat kode sebenarnya dan bagaimana jawabannya diperiksa"
|
||
|
||
#: 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 ""
|
||
"Diperiksa dengan REA 4.1.0: Kalkulator Windows 11.2508.4.0, x64. Ringkasan "
|
||
"yang dapat dibaca menggunakan nama dari sumber publik Microsoft untuk "
|
||
"menjelaskan cabang yang dipulihkan."
|
||
|
||
#. {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}Implementasi persentase{ph1} · {ph2}Kasus uji Microsoft{ph3} · "
|
||
"{ph4}Panduan penyiapan asli{ph5}"
|
||
|
||
#: website/public/index.html:1030
|
||
msgctxt "page:index.html"
|
||
msgid "Your first investigation"
|
||
msgstr "Investigasi pertamamu"
|
||
|
||
#: website/public/index.html:1031
|
||
msgctxt "page:index.html"
|
||
msgid "Try REA on a small app."
|
||
msgstr "Coba REA di aplikasi kecil."
|
||
|
||
#: website/public/index.html:1032
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Download our Notes example, trace its CSV export, and check one changed "
|
||
"input."
|
||
msgstr ""
|
||
"Unduh contoh Catatan kami, lacak ekspor CSV - nya, dan periksa satu input "
|
||
"yang diubah."
|
||
|
||
#: website/public/index.html:1037
|
||
msgctxt "page:index.html"
|
||
msgid "Try the guided example"
|
||
msgstr "Coba contoh terpandu"
|
||
|
||
#: website/public/index.html:1046
|
||
msgctxt "page:index.html"
|
||
msgid "Want to go deeper?"
|
||
msgstr "Ingin mempelajari lebih lanjut?"
|
||
|
||
#. {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 ""
|
||
"Beri tahu agen Anda apa yang ingin Anda pahami atau bangun. Dengan REA, Anda"
|
||
" dapat bekerja sama dalam segala hal mulai dari {ph0}mengkloning situs web "
|
||
"ini{ph1} untuk {ph2}merekonstruksi game dari executable-nya.{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}Contoh prompt * Situs web"
|
||
|
||
#: website/public/index.html:1081
|
||
msgctxt "page:index.html"
|
||
msgid "Yes, this one."
|
||
msgstr "Ya, yang ini."
|
||
|
||
#. {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}Contoh prompt * Rekonstruksi game"
|
||
|
||
#. {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}Gunakan REA untuk merekonstruksi game ini dari yang dapat "
|
||
"dieksekusi. Pulihkan logika gameplay di C dan uji dengan "
|
||
"aslinya.{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}Lihat studi kasus DX-Ball →{ph1}"
|
||
|
||
#: website/public/index.html:1114
|
||
msgctxt "page:index.html"
|
||
msgid "For setup and analysis steps, choose your target:"
|
||
msgstr "Untuk langkah penyiapan dan analisis, pilih target Anda:"
|
||
|
||
#: website/public/index.html:1119
|
||
msgctxt "page:index.html"
|
||
msgid "Native binaries"
|
||
msgstr "Program kode mesin"
|
||
|
||
#: website/public/index.html:1120
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Inspect functions, strings, references and call relationships in executables"
|
||
" and libraries."
|
||
msgstr ""
|
||
"Periksa fungsi, string, referensi, dan hubungan pemanggilan fungsi di "
|
||
"executable dan pustaka."
|
||
|
||
#: website/public/index.html:1124
|
||
msgctxt "page:index.html"
|
||
msgid "Native analysis guide"
|
||
msgstr "Analisis panduan program kode mesin"
|
||
|
||
#: 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 ""
|
||
"Modul peta, rute, IPC, dan dependensi asli dari folder aplikasi atau arsip "
|
||
"ASAR."
|
||
|
||
#: website/public/index.html:1132
|
||
msgctxt "page:index.html"
|
||
msgid "Application workflows"
|
||
msgstr "Alur kerja aplikasi"
|
||
|
||
#: website/public/index.html:1135
|
||
msgctxt "page:index.html"
|
||
msgid "Browser & runtime activity"
|
||
msgstr "Aktivitas browser & waktu proses"
|
||
|
||
#: website/public/index.html:1136
|
||
msgctxt "page:index.html"
|
||
msgid ""
|
||
"Capture selected browser or process activity, then compare the results "
|
||
"across runs."
|
||
msgstr ""
|
||
"Tangkap browser atau aktivitas proses yang dipilih, lalu bandingkan hasilnya"
|
||
" di seluruh proses."
|
||
|
||
#: website/public/index.html:1140
|
||
msgctxt "page:index.html"
|
||
msgid "Browser observation guide"
|
||
msgstr "Panduan pengamatan browser"
|
||
|
||
#: website/public/index.html:1147
|
||
msgctxt "page:index.html"
|
||
msgid "Any questions?"
|
||
msgstr "Ada pertanyaan?"
|
||
|
||
#. {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}Baca FAQ{ph1}, {ph2}ngobrol dengan kami di Discord {ph3}, atau "
|
||
"{ph4}buka masalah GitHub{ph5} untuk bug dan permintaan fitur."
|
||
|
||
#: website/public/index.html:1161 website/public/index.html:1167
|
||
msgctxt "page:index.html"
|
||
msgid "Join the community"
|
||
msgstr "Gabung komunitas"
|
||
|
||
#: 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 ""
|
||
"Bagikan investigasi dan dapatkan bantuan dari pengguna REA lainnya di "
|
||
"Discord . Ikuti REA di X untuk pembaruan proyek."
|
||
|
||
#: website/public/index.html:6
|
||
msgctxt "page:index.html"
|
||
msgid "REA — Reverse Engineering for Your Coding Agent"
|
||
msgstr "REA-Rekayasa Balik untuk Agen Pengkodean Anda"
|
||
|
||
#: 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 ""
|
||
"Merekayasa balik aplikasi, binari, dan perilaku browser dengan agen "
|
||
"pengkodean Anda. Ikuti panduan yang jelas dan coba contoh interaktif dengan "
|
||
"REA ."
|
||
|
||
#: website/public/index.html:260
|
||
msgctxt "page:index.html"
|
||
msgid "Copy REA installation prompt"
|
||
msgstr "Salin prompt instalasi REA"
|
||
|
||
#: website/public/index.html:282
|
||
msgctxt "page:index.html"
|
||
msgid "Copy setup command"
|
||
msgstr "Salin perintah pengaturan"
|
||
|
||
#: website/public/index.html:334
|
||
msgctxt "page:index.html"
|
||
msgid "Follow the manual Calculator analysis"
|
||
msgstr "Ikuti analisis Kalkulator manual"
|
||
|
||
#: website/public/index.html:497
|
||
msgctxt "page:index.html"
|
||
msgid "Copy Calculator percentage question"
|
||
msgstr "Salin pertanyaan persentase Kalkulator"
|
||
|
||
#: 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 ""
|
||
"Mini-game dinosaurus. Gunakan tombol Lompat atau tekan Spasi saat permainan "
|
||
"difokuskan."
|
||
|
||
#: website/public/index.html:665
|
||
msgctxt "page:index.html"
|
||
msgid "Copy dinosaur analysis prompt"
|
||
msgstr "Salin prompt analisis dinosaurus"
|
||
|
||
#: website/public/index.html:821
|
||
msgctxt "page:index.html"
|
||
msgid "Choose the calculation"
|
||
msgstr "Pilih perhitungan"
|
||
|
||
#: website/public/index.html:901
|
||
msgctxt "page:index.html"
|
||
msgid "Copy Calculator analysis prompt"
|
||
msgstr "Salin prompt analisis Kalkulator"
|
||
|
||
#: website/public/index.html:1063
|
||
msgctxt "page:index.html"
|
||
msgid "Copy website project prompt"
|
||
msgstr "Salin prompt proyek situs web"
|
||
|
||
#: website/public/index.html:1091
|
||
msgctxt "page:index.html"
|
||
msgid "Copy game reconstruction prompt"
|
||
msgstr "Salin prompt rekonstruksi game"
|
||
|
||
#: website/public/index.html:1191
|
||
msgctxt "page:index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/showcase/aegis/index.html:104
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / {ph2}Menampilkan{ph3} / Android"
|
||
|
||
#: website/public/showcase/aegis/index.html:198
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Case study · Aegis Authenticator"
|
||
msgstr "Studi kasus * Pengautentikasi 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 "Bagaimana cara kerja autentikator{ph0}buat kode masuk?"
|
||
|
||
#: 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 ""
|
||
"Kode enam digit berubah setiap 30 detik. Gunakan REA untuk menemukan "
|
||
"perhitungan di Android APK, lalu bangun kembali dengan jam yang dapat Anda "
|
||
"kendalikan."
|
||
|
||
#: 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 * Android * Rilis resmi APK * 6.9 MB"
|
||
|
||
#: website/public/showcase/aegis/index.html:208
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "View Aegis on GitHub"
|
||
msgstr "Lihat Aegis di 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 "Dari APK ke kode yang dapat Anda reproduksi"
|
||
|
||
#. {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 * Temukan fitur tersebut{ph1}{ph2}3.077 kelas → {ph3}{ph4} REA "
|
||
"mencari paket dan melacak kode yang digunakan oleh tindakan tampilan dan "
|
||
"penyalinan.{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 * Baca perhitungannya{ph1}{ph2}Waktu + kunci akun → {ph3}{ph4} REA "
|
||
"mengembalikan metode dan default. Agen menjelaskan bagaimana mereka cocok "
|
||
"bersama.{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 * Bangun kembali dan periksa{ph1}{ph2}Ganti jam. Perhatikan "
|
||
"kodenya.{ph3}{ph4}Demo browser baru mereproduksi aturan dan memeriksanya "
|
||
"terhadap kasus referensi publik.{ph5}"
|
||
|
||
#: website/public/showcase/aegis/index.html:246
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "In this case study"
|
||
msgstr "Dalam studi kasus ini"
|
||
|
||
#. {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}Tanyakan pada agen Anda{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}Coba pembuat kode{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}Temukan kodenya dengan 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}Baca perhitungannya{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}Periksa rekonstruksi{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}Periksa sendiri APK{ph1}"
|
||
|
||
#: website/public/showcase/aegis/index.html:258
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Ask your agent"
|
||
msgstr "Tanyakan pada agen Anda"
|
||
|
||
#. {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 ""
|
||
"Aplikasi ini menampilkan kode login yang berubah. Kami ingin menemukan "
|
||
"{ph0}apa yang membuatnya berubah{ph1} dan mereproduksi perilaku itu."
|
||
|
||
#. {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}Agen pengkodean Anda"
|
||
|
||
#: website/public/showcase/aegis/index.html:269
|
||
#: website/public/showcase/aegis/index.html:732
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Copy"
|
||
msgstr "Salin"
|
||
|
||
#. {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 ""
|
||
"Contoh prompt untuk APK yang diunduh, dengan analisis Android REA "
|
||
"dikonfigurasi. {ph0}Dapatkan APK dan pengaturan analisis ↓{ph1}"
|
||
|
||
#: website/public/showcase/aegis/index.html:297
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Try the code generator"
|
||
msgstr "Coba pembuat kode"
|
||
|
||
#. {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 ""
|
||
"Aplikasi mengelompokkan waktu menjadi {ph0}blok 30 detik.{ph1} Ini "
|
||
"menggabungkan nomor blok dengan kunci akun untuk menghasilkan kode. Kunci "
|
||
"dan blok yang sama menghasilkan kode yang sama."
|
||
|
||
#: website/public/showcase/aegis/index.html:305
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Move the clock across 60 seconds"
|
||
msgstr "Pindahkan jam melintasi 60 detik"
|
||
|
||
#: website/public/showcase/aegis/index.html:308
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Time"
|
||
msgstr "Waktu"
|
||
|
||
#: website/public/showcase/aegis/index.html:310
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "seconds"
|
||
msgstr "detik"
|
||
|
||
#: website/public/showcase/aegis/index.html:311
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Our adjustable example clock"
|
||
msgstr "Jam contoh kami yang dapat disesuaikan"
|
||
|
||
#: website/public/showcase/aegis/index.html:314
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "30-second block"
|
||
msgstr "blok 30 detik"
|
||
|
||
#: website/public/showcase/aegis/index.html:316
|
||
#: website/public/showcase/aegis/index.html:643
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Block"
|
||
msgstr "Blok"
|
||
|
||
#. {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 detik{ph3}"
|
||
|
||
#: website/public/showcase/aegis/index.html:325
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Generated code"
|
||
msgstr "Kode yang dihasilkan"
|
||
|
||
#: website/public/showcase/aegis/index.html:333
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Account key + block → six digits"
|
||
msgstr "Kunci akun + blok →"
|
||
|
||
#: website/public/showcase/aegis/index.html:339
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Example time, in seconds"
|
||
msgstr "Contoh waktu, dalam detik"
|
||
|
||
#: 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 detik"
|
||
|
||
#: 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 detik"
|
||
|
||
#. {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 ""
|
||
"Pada 59 detik: {ph0}287082.{ph1} Pada 60 detik: {ph2}359152.{ph3} Bergerak "
|
||
"dalam satu blok membuat kode tidak berubah."
|
||
|
||
#. {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 ""
|
||
"Kuncinya adalah tetap, publik {ph0}RFC 6238 datasheet{ph1}. Demo "
|
||
"mengimplementasikan perhitungan yang dipulihkan dari 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 ""
|
||
"Diagram menunjukkan hasilnya pada 59 detik. Aktifkan JavaScript untuk "
|
||
"mengubah jam."
|
||
|
||
#: website/public/showcase/aegis/index.html:393
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Find the code with REA"
|
||
msgstr "Temukan kodenya dengan REA"
|
||
|
||
#: website/public/showcase/aegis/index.html:396
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Narrow the APK to three classes"
|
||
msgstr "Persempit APK menjadi tiga kelas"
|
||
|
||
#. {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} adalah kandidat perhitungan; dua lainnya menyangkut bilah kemajuan dan"
|
||
" akun yang diimpor. TOTP berarti kata sandi satu kali berbasis waktu."
|
||
|
||
#: website/public/showcase/aegis/index.html:428
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Connect the generator to the app's display"
|
||
msgstr "Hubungkan generator ke tampilan aplikasi"
|
||
|
||
#. {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 mengidentifikasi kelebihan stempel waktu dan menemukan fungsi pemanggil "
|
||
"metode dasar. Memeriksa {ph0} kemudian menampilkan panggilan tampilan {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 ""
|
||
"Permintaan menunjukkan jalur input yang dipersingkat. Hasil nama kelas "
|
||
"menghilangkan yang umum {ph0} awalan."
|
||
|
||
#: website/public/showcase/aegis/index.html:471
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Read the calculation"
|
||
msgstr "Baca perhitungannya"
|
||
|
||
#. {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 kembali {ph0}konversi jam, pengaturan default, dan metode "
|
||
"pembangkitan.{ph1} Konstruktor menetapkan interval 30 detik dan enam digit; "
|
||
"metode stempel waktu mengubah detik menjadi nomor blok."
|
||
|
||
#. {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} Blok waktu"
|
||
|
||
#. {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} Kunci + blok"
|
||
|
||
#. {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} Enam digit"
|
||
|
||
#. {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}Waktu memilih blok.{ph1} Detik 30 hingga 59 semuanya memberikan blok 1."
|
||
" Pada 60 detik, blok menjadi 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}Kuncinya juga penting.{ph1} Generator menggabungkan kunci akun dengan "
|
||
"blok. Akun dengan kunci yang berbeda dapat menampilkan kode yang berbeda "
|
||
"secara bersamaan."
|
||
|
||
#. {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}Simpan enam digit.{ph1} Sisanya setelah pembagian dengan 1.000.000 "
|
||
"diisi dengan angka nol bila diperlukan, sehingga kode dapat dimulai dengan "
|
||
"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 ""
|
||
"Kutipan dari beberapa metode yang diinspeksi, dengan pembungkusan garis "
|
||
"untuk tampilan. Panel kanan adalah ringkasan penjelasan. {ph0} Kode Aegis "
|
||
"adalah GPL-3.0.{ph1}"
|
||
|
||
#: website/public/showcase/aegis/index.html:591
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Inside the generator"
|
||
msgstr "Di dalam generator"
|
||
|
||
#. {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 yang dirilis menempatkan {ph0} dalam {ph1}. REA mengikuti panggilan "
|
||
"dari {ph2} dan mengembalikan badan ini; sumber aslinya memanggil helper "
|
||
"{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 ""
|
||
"Byte hash terakhir memilih posisi. Empat byte pada posisi itu memberikan "
|
||
"angka 31-bit positif; pemformatan menguranginya menjadi jumlah digit yang "
|
||
"diminta. Argumen terakhir konstruktor memilih cabang pemformatan kode yang "
|
||
"diperkenalkan oleh kompilasi."
|
||
|
||
#. {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}Bandingkan dengan sumber rilis yang cocok{ph1}."
|
||
|
||
#: website/public/showcase/aegis/index.html:631
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Check the reconstruction"
|
||
msgstr "Periksa rekonstruksi"
|
||
|
||
#. {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 ""
|
||
"Kami mengumpulkan metode Java yang dikembalikan REA yang dipilih dalam "
|
||
"program pengujian kecil. Hasil mereka cocok dengan rekonstruksi independen "
|
||
"pada {ph0}133 kasus uji{ph1}, termasuk batas blok waktu dan kode yang "
|
||
"dimulai dengan nol."
|
||
|
||
#: website/public/showcase/aegis/index.html:642
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Example time"
|
||
msgstr "Contoh waktu"
|
||
|
||
#: website/public/showcase/aegis/index.html:644
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Six-digit code"
|
||
msgstr "Kode enam digit"
|
||
|
||
#: website/public/showcase/aegis/index.html:649
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "30 seconds"
|
||
msgstr "30 detik"
|
||
|
||
#: website/public/showcase/aegis/index.html:664
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "1,111,111,109 seconds"
|
||
msgstr "1.111.111.109 detik"
|
||
|
||
#. {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 ""
|
||
"Generator juga cocok dengan enam kasus referensi SHA-1 yang diterbitkan di "
|
||
"{ph0}RFC 6238{ph1}. Periksa implementasi browser terhadap mereka:"
|
||
|
||
#: website/public/showcase/aegis/index.html:679
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Run reference checks"
|
||
msgstr "Jalankan pemeriksaan referensi"
|
||
|
||
#: website/public/showcase/aegis/index.html:686
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Read the demo's calculation"
|
||
msgstr "Baca perhitungan demo"
|
||
|
||
#: 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 ""
|
||
"Kasus referensi menggunakan delapan digit. Cek tersebut juga memverifikasi "
|
||
"hasil enam digit mereka."
|
||
|
||
#: 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 ""
|
||
"Verifikasi menjalankan metode Java yang diekstraksi dan demo baru. Android "
|
||
"APK diperiksa secara statis."
|
||
|
||
#: website/public/showcase/aegis/index.html:706
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Inspect the APK yourself"
|
||
msgstr "Periksa sendiri 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}Siapkan REA {ph1} di macOS atau Linux, lalu unduh kedua file ini ke "
|
||
"dalam folder yang sama. Pada Windows, gunakan lingkungan Linux seperti WSL."
|
||
|
||
#. {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 ""
|
||
"Analisis Android membutuhkan JDK 17 lengkap atau lebih baru. Pilih dengan "
|
||
"{ph0} atau {ph1}. Kasus ini menggunakan JDK 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 "Arahkan REA ke file penyedia dan periksa 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 ""
|
||
"Agen Anda dapat melanjutkan melalui REA CLI menggunakan perintah di atas. "
|
||
"Untuk MCP, tambahkan {ph0} ke lingkungan server REA dan sambungkan kembali."
|
||
|
||
#. {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 ""
|
||
"Pertanyaan selanjutnya: {ph0}apa yang terjadi jika akun menggunakan delapan "
|
||
"digit atau interval waktu yang berbeda?{ph1}"
|
||
|
||
#: website/public/showcase/aegis/index.html:760
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Sources"
|
||
msgstr "Sumber"
|
||
|
||
#. {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}Rilis resmi Aegis 3.4.3{ph1} · {ph2}Komit sumber yang cocok{ph3} · "
|
||
"{ph4}Lisensi GPL-3.0{ph5}"
|
||
|
||
#. {ph0}: <a href="https://www.rfc-editor.org/rfc/rfc6238.html#appendix-B" >
|
||
#. {ph1}: </a >
|
||
#. {ph2}: <a href="test-vectors.json">
|
||
#. {ph3}: </a>
|
||
#: website/public/showcase/aegis/index.html:778
|
||
#, python-brace-format
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "{ph0}RFC 6238 reference cases{ph1} · {ph2}Demo test data{ph3}"
|
||
msgstr "{ph0}Kasus referensi RFC 6238{ph1} · {ph2}Data uji demo{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 ""
|
||
"Diinspeksi dengan REA 6.1.0 pada 9 Oktober 2026. Kutipan yang didekompilasi "
|
||
"dikreditkan ke Aegis; diagram, ringkasan yang dapat dibaca, dan rekonstruksi"
|
||
" browser adalah bahan ajar baru."
|
||
|
||
#: website/public/showcase/aegis/index.html:6
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Aegis APK Reverse Engineering: Login Codes — REA"
|
||
msgstr "Aegis Rekayasa Balik APK: Kode Masuk-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 ""
|
||
"Periksa Aegis Android APK dengan REA, pulihkan perhitungan kode masuk enam "
|
||
"digitnya, dan coba rekonstruksi dengan jam yang dapat disesuaikan."
|
||
|
||
#: website/public/showcase/aegis/index.html:245
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/showcase/aegis/index.html:256
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Aegis APK case study"
|
||
msgstr "Studi kasus Aegis APK"
|
||
|
||
#: website/public/showcase/aegis/index.html:269
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Copy Aegis example prompt"
|
||
msgstr "Salin prompt contoh Aegis"
|
||
|
||
#: website/public/showcase/aegis/index.html:482
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Follow the login-code calculation"
|
||
msgstr "Ikuti perhitungan kode masuk"
|
||
|
||
#: website/public/showcase/aegis/index.html:732
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Copy APK inspection command"
|
||
msgstr "Salin perintah inspeksi APK"
|
||
|
||
#: website/public/showcase/aegis/index.html:808
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/showcase/ctf/index.html:103
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / {ph2}Menampilkan{ph3} / CTF"
|
||
|
||
#: website/public/showcase/ctf/index.html:197
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Case study · DownUnderCTF 2023"
|
||
msgstr "Studi kasus * DownUnderCTF 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 "Temukan bendera di{ph0}biner KKP."
|
||
|
||
#. {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 ""
|
||
"Gunakan REA untuk memeriksa pemeriksa bendera kecil, mengubah aturannya "
|
||
"menjadi persamaan, dan menemukan masukan yang membuat program asli dicetak "
|
||
"{ph0}."
|
||
|
||
#: website/public/showcase/ctf/index.html:204
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "masked squares flag checker · Easy · Linux x86-64"
|
||
msgstr "pemeriksa bendera kotak bertopeng * Mudah * Linux x86-64"
|
||
|
||
#: website/public/showcase/ctf/index.html:207
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "View the original challenge"
|
||
msgstr "Lihat tantangan aslinya"
|
||
|
||
#: website/public/showcase/ctf/index.html:215
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "From a binary to a checked answer"
|
||
msgstr "Dari biner ke jawaban yang dicentang"
|
||
|
||
#. {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 * Temukan ceknya{ph1}{ph2}String → {ph3}{ph4} REA menemukan prompt, "
|
||
"referensinya, dan kode yang menerima atau menolak input.{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 * Ekstrak aturan{ph1}{ph2}36 karakter · 26 jumlah{ph3}{ph4} REA "
|
||
"mengembalikan instruksi dan data di balik setiap pemeriksaan. Agen "
|
||
"mengubahnya menjadi persamaan.{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 * Pecahkan dan jalankan{ph1}{ph2}Bendera yang dipulihkan → "
|
||
"{ph3}{ph4}Skrip Python memecahkan persamaan. REA menangkap program asli "
|
||
"yang menerima hasilnya.{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 ""
|
||
"Tantangannya adalah oleh joseph, diterbitkan di repositori resmi "
|
||
"DownUnderCTF."
|
||
|
||
#: website/public/showcase/ctf/index.html:250
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "In this case study"
|
||
msgstr "Dalam studi kasus ini"
|
||
|
||
#. {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}Temukan kode pemeriksaan{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}Baca satu topeng{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}Perakitan ke kode yang dapat dibaca{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}Selesaikan persamaannya{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}Periksa jawabannya{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}Cobalah sendiri{ph1}"
|
||
|
||
#: website/public/showcase/ctf/index.html:262
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Find the checking code"
|
||
msgstr "Temukan kode pemeriksaan"
|
||
|
||
#. {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 ""
|
||
"Handout adalah executable 15 KB. Ia meminta bendera, lalu mencetak {ph0} "
|
||
"atau {ph1}. Mulailah dengan permintaan sederhana kepada agen Anda."
|
||
|
||
#. {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}Agen pengkodean Anda"
|
||
|
||
#: 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 "Salin"
|
||
|
||
#. {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}Gunakan REA untuk menganalisis ms_flag_checker dan menemukan"
|
||
" benderanya. Jelaskan cara kerja pemeriksaan, lalu verifikasi jawabannya "
|
||
"dengan program aslinya.{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 ""
|
||
"Contoh prompt, dengan tantangan yang diunduh tersedia secara lokal dan "
|
||
"analisis penyedia program kode mesin terhubung."
|
||
|
||
#: website/public/showcase/ctf/index.html:299
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Follow the input prompt to its function"
|
||
msgstr "Ikuti prompt input ke fungsinya"
|
||
|
||
#: 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 ""
|
||
"Referensi memberi agen tempat untuk menyelidiki, meskipun nama fungsi asli "
|
||
"yang dapat dieksekusi telah dihapus."
|
||
|
||
#: website/public/showcase/ctf/index.html:335
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Read the checker and its two helpers"
|
||
msgstr "Baca pemeriksa dan dua pembantunya"
|
||
|
||
#. {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 ""
|
||
"Loop pertama menyalin 36 kode karakter. Loop pemeriksaan menerjemahkan "
|
||
"topeng, menjumlahkan kode yang dipilih, dan membandingkan hasilnya dengan "
|
||
"nomor yang disimpan. Nya {ph0}- langkah byte melintasi {ph1} byte memberikan"
|
||
" 26 topeng."
|
||
|
||
#: 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 ""
|
||
"Ini adalah hasil yang dipilih dari analisis REA baru. Jalur target lokal "
|
||
"dipersingkat untuk ditampilkan; alamat mengacu pada gambar yang diimpor REA."
|
||
|
||
#: website/public/showcase/ctf/index.html:379
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "One check reveals one character"
|
||
msgstr "Satu cek mengungkapkan satu karakter"
|
||
|
||
#: 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 ""
|
||
"Pemeriksa mengatur masukan dalam kisi 6× Topeng memilih sel mana yang "
|
||
"berkontribusi pada penjumlahan. Pengkodeannya yang ringkas menggunakan angka"
|
||
" negatif untuk melewati sel dan angka positif untuk memilihnya."
|
||
|
||
#. {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 ""
|
||
"Pemeriksaan ketujuh hanya memilih satu posisi. {ph0}Sosok terbuka{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 "Baca topeng dan targetnya dari biner"
|
||
|
||
#. {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 ""
|
||
"Instruksi {ph0} membaca byte topeng sebagai nilai yang ditandatangani. "
|
||
"Inilah mengapa {ph1} artinya -21. Targetnya adalah bilangan bulat little-"
|
||
"endian. Bersama-sama, byte ini memberi tahu agen bahwa {ph2}, jadi karakter "
|
||
"itu adalah {ph3}."
|
||
|
||
#: website/public/showcase/ctf/index.html:438
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "From instructions to a readable check"
|
||
msgstr "Dari instruksi hingga pemeriksaan yang dapat dibaca"
|
||
|
||
#: 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 ""
|
||
"Pilih langkah untuk menghubungkan summing helper dan fungsi pemanggilnya ke "
|
||
"aturan yang sama di C."
|
||
|
||
#. {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} Mulai"
|
||
|
||
#. {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} Pilih"
|
||
|
||
#. {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} Tambahkan"
|
||
|
||
#. {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} Maju"
|
||
|
||
#. {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} Bandingkan"
|
||
|
||
#: website/public/showcase/ctf/index.html:493
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "REA · selected original instructions"
|
||
msgstr "REA * instruksi asli yang dipilih"
|
||
|
||
#: website/public/showcase/ctf/index.html:517
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Readable C · one-check summary"
|
||
msgstr "Ringkasan satu cek C * yang dapat dibaca"
|
||
|
||
#. {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 * Mulai dari nol.{ph1} {ph2} memegang jumlah yang sedang berjalan."
|
||
|
||
#. {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 * Periksa sel topeng.{ph1} Nilai nol melewatkan karakter; nilai "
|
||
"bukan nol menyertakannya."
|
||
|
||
#. {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 * Tambahkan kode karakter.{ph1} Bilangan bulat input pada offset "
|
||
"yang sama ditambahkan ke jumlah."
|
||
|
||
#. {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 * Pindah ke sel berikutnya.{ph1} Loop asli memajukan empat byte per "
|
||
"bilangan bulat dan mengunjungi enam baris dari enam sel."
|
||
|
||
#. {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 * Bandingkan dengan target yang disimpan.{ph1} Fungsi pemanggil "
|
||
"menerima jumlah dalam {ph2}. Ketidakcocokan melompat ke {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 ""
|
||
"Instruksi datang dari pembantu penjumlahan dan fungsi pemanggilnya. C adalah"
|
||
" ringkasan penjelasan dengan nama deskriptif dan loop 36 sel yang diratakan."
|
||
|
||
#: website/public/showcase/ctf/index.html:578
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Solve the 26 equations"
|
||
msgstr "Selesaikan 26 persamaan tersebut"
|
||
|
||
#: 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 ""
|
||
"Sebagian besar topeng memilih beberapa sel. Misalnya, pemeriksaan pertama "
|
||
"menambahkan 16 kode karakter dan membutuhkan total 1441. Pilihan yang "
|
||
"tumpang tindih memberikan persamaan yang dapat diselesaikan bersama oleh "
|
||
"skrip Python kecil."
|
||
|
||
#: website/public/showcase/ctf/index.html:587
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Python · solver excerpt"
|
||
msgstr "Python * kutipan pemecah"
|
||
|
||
#. {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 ""
|
||
"Z3 adalah pemecah yang menemukan nilai-nilai yang memenuhi persamaan ini. "
|
||
"Kutipan ini menggunakan pemeriksaan yang diekstraksi dan mengasumsikan {ph0}"
|
||
" bendera dengan huruf, angka,garis bawah, dan tanda kurung. Unduhan lengkap "
|
||
"mencakup semua 26 topeng dan target."
|
||
|
||
#: website/public/showcase/ctf/index.html:621
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Download the complete solver"
|
||
msgstr "Unduh pemecah lengkap"
|
||
|
||
#: website/public/showcase/ctf/index.html:627
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Check the answer with the original program"
|
||
msgstr "Periksa jawabannya dengan program aslinya"
|
||
|
||
#. {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 ""
|
||
"Pengambilan proses REA merekam executable asli yang menerima flag yang "
|
||
"diselesaikan. Mengubah satu karakter yang dipilih dari {ph0} untuk {ph1} "
|
||
"membuat jumlah pertama 1440, bukan 1441, dan program menolaknya."
|
||
|
||
#: website/public/showcase/ctf/index.html:638
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Input"
|
||
msgstr "Masukan"
|
||
|
||
#: website/public/showcase/ctf/index.html:639
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Observed output"
|
||
msgstr "Keluaran yang diamati"
|
||
|
||
#: website/public/showcase/ctf/index.html:640
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Exit code"
|
||
msgstr "Kode keluar"
|
||
|
||
#: website/public/showcase/ctf/index.html:645
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Solver's flag"
|
||
msgstr "Bendera pemecah"
|
||
|
||
#: website/public/showcase/ctf/index.html:650
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "One character changed"
|
||
msgstr "Satu karakter berubah"
|
||
|
||
#: website/public/showcase/ctf/index.html:658
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Show the recovered flag and captured output"
|
||
msgstr "Tampilkan bendera yang dipulihkan dan keluaran yang diambil"
|
||
|
||
#: website/public/showcase/ctf/index.html:661
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "REA · original program output"
|
||
msgstr "REA * keluaran program asli"
|
||
|
||
#: website/public/showcase/ctf/index.html:662
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy flag"
|
||
msgstr "Salin bendera"
|
||
|
||
#: 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 ""
|
||
"Nilai yang dipulihkan juga cocok dengan tanda dalam metadata tantangan yang "
|
||
"diterbitkan penyelenggara, dicentang setelah menyelesaikan biner."
|
||
|
||
#: website/public/showcase/ctf/index.html:680
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Source, target identity and analysis details"
|
||
msgstr "Sumber, identitas target, dan detail analisis"
|
||
|
||
#: 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 ""
|
||
"Analisis baru dan dua tangkapan proses pada 8 Oktober 2026, menggunakan REA "
|
||
"4.1.0 dengan Ghidra 12.1.4 pada Linux x64. Binernya adalah ELF x86-64 yang "
|
||
"dilucuti, 15.248 byte."
|
||
|
||
#: 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 ""
|
||
"Referensi string, fungsi, dan konstanta diperiksa sebelum membaca sumber "
|
||
"atau solusi penyelenggara. Pemecah Python dan diagram dibuat dari hasil REA "
|
||
"tersebut."
|
||
|
||
#. {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}Bandingkan dengan sumber penyelenggara{ph1} · {ph2}Tantang metadata dan"
|
||
" bendera{ph3} · {ph4} Catatan bukti REA{ph5}"
|
||
|
||
#: website/public/showcase/ctf/index.html:717
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Try it yourself"
|
||
msgstr "Cobalah sendiri"
|
||
|
||
#: 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 ""
|
||
"Unduh tantangan asli dan pemecah ke dalam satu folder. Gunakan perintah di "
|
||
"atas untuk menyelidiki dengan agen Anda, atau jalankan skrip yang "
|
||
"disertakan."
|
||
|
||
#: website/public/showcase/ctf/index.html:734
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Terminal · solve and run"
|
||
msgstr "Terminal * selesaikan dan jalankan"
|
||
|
||
#. {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 ""
|
||
"Skrip mencetak bendera kandidat; tempelkan pada prompt program. Memecahkan "
|
||
"kebutuhan Python dan {ph0}. Menjalankan executable asli membutuhkan Linux "
|
||
"x86-64."
|
||
|
||
#: website/public/showcase/ctf/index.html:756
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Set up REA with your coding agent"
|
||
msgstr "Siapkan REA dengan agen pengkodean Anda"
|
||
|
||
#: website/public/showcase/ctf/index.html:6
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "CTF Reverse Engineering: DownUnderCTF Flag Checker — REA"
|
||
msgstr "Rekayasa Balik KKP: Pemeriksa Bendera DownUnderCTF-REA"
|
||
|
||
#: website/public/showcase/ctf/index.html:7
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid ""
|
||
"Use REA to solve DownUnderCTF's masked squares flag checker. Find the "
|
||
"checking functions, extract the masks and compare a recovered flag with the "
|
||
"original program."
|
||
msgstr ""
|
||
"Gunakan REA untuk menyelesaikan pemeriksa bendera kotak bertopeng "
|
||
"DownUnderCTF. Temukan fungsi pemeriksaan, ekstrak mask, dan bandingkan flag "
|
||
"yang dipulihkan dengan program asli."
|
||
|
||
#: website/public/showcase/ctf/index.html:249
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/showcase/ctf/index.html:260
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "CTF flag-checker case study"
|
||
msgstr "Studi kasus pemeriksa bendera KKP"
|
||
|
||
#: website/public/showcase/ctf/index.html:275
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy CTF example prompt"
|
||
msgstr "Salin permintaan contoh KKP"
|
||
|
||
#: website/public/showcase/ctf/index.html:386
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "CTF mask equation; scroll horizontally on smaller screens"
|
||
msgstr ""
|
||
"Persamaan topeng KKP; gulir secara horizontal pada layar yang lebih kecil"
|
||
|
||
#: 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 ""
|
||
"Topeng ketujuh melompati 21 sel, memilih posisi 21, lalu melompati 14. Hanya"
|
||
" sel itu yang berkontribusi pada jumlah tersebut. Kode karakter yang "
|
||
"diperlukan adalah 55, yang berarti karakternya adalah 7."
|
||
|
||
#: website/public/showcase/ctf/index.html:444
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Follow the CTF check"
|
||
msgstr "Ikuti pemeriksaan KKP"
|
||
|
||
#: website/public/showcase/ctf/index.html:494
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy CTF assembly"
|
||
msgstr "Salin perakitan KKP"
|
||
|
||
#: website/public/showcase/ctf/index.html:518
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy readable CTF check"
|
||
msgstr "Salin cek KKP yang dapat dibaca"
|
||
|
||
#: website/public/showcase/ctf/index.html:588
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy CTF solver excerpt"
|
||
msgstr "Salin kutipan pemecah KKP"
|
||
|
||
#: website/public/showcase/ctf/index.html:662
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy recovered flag"
|
||
msgstr "Salin bendera yang dipulihkan"
|
||
|
||
#: website/public/showcase/ctf/index.html:735
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Copy CTF solver commands"
|
||
msgstr "Salin perintah pemecah KKP"
|
||
|
||
#: website/public/showcase/ctf/index.html:777
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:103
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / {ph2}Menampilkan{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 "Studi kasus * 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 "Membangun kembali DX-Ball {ph0}dari executable-nya."
|
||
|
||
#: 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 ""
|
||
"Tujuannya adalah versi C yang dapat dipertahankan dari game Windows tahun "
|
||
"1996. REA membantu agen memeriksa yang asli, satu fungsi pada satu waktu."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:203
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Windows i386 · C · REA"
|
||
msgstr "Windows i386 * C * REA"
|
||
|
||
#. {ph0}: <a href="../../assets/figures/dx-ball-sound-pan-investigation.svg" >
|
||
#. {ph1}: </a >
|
||
#: website/public/showcase/dx-ball/index.html: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 ""
|
||
"Satu fungsi, dari dapat dieksekusi hingga dicentang C. REA menyediakan "
|
||
"instruksi, fungsi pemanggil, dan pembacaan data; proyek rekonstruksi "
|
||
"mengimplementasikan dan menguji hasilnya. {ph0}Sosok terbuka{ph1}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:231
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "In this case study"
|
||
msgstr "Dalam studi kasus ini"
|
||
|
||
#. {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}Proyek ini{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}Panci suara{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}Memeriksa hasilnya{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}Lanjutkan pekerjaan{ph1}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:244
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "maintained C functions"
|
||
msgstr "fungsi C yang dipertahankan"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:248
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "comparisons with original code"
|
||
msgstr "perbandingan dengan kode asli"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:252
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "functions with matching compiled bytes"
|
||
msgstr "fungsi dengan byte terkompilasi yang cocok"
|
||
|
||
#. {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 ""
|
||
"Pos pemeriksaan proyek: 7 Oktober 2026. {ph0}Buku besar kemajuan{ph1} · "
|
||
"{ph2}Cakupan pengujian{ph3}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:267
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "The project so far"
|
||
msgstr "Proyek sejauh ini"
|
||
|
||
#: 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 ""
|
||
"Kode yang dipulihkan mencakup penanganan papan dan sumber daya, pukulan "
|
||
"bata, animasi, partikel, dan produksi bonus. Build saat ini menyediakan "
|
||
"utilitas inspeksi dan pustaka analisis. Pengerjaan game yang dapat dimainkan"
|
||
" berlanjut dengan fisika bola dan dayung, penanganan power-up, dan integrasi"
|
||
" Windows."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:278
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Finding the sound-pan calculation"
|
||
msgstr "Menemukan perhitungan posisi suara kiri/kanan"
|
||
|
||
#: 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 ""
|
||
"Saat sebuah batu bata dipukul, posisi horizontalnya diteruskan ke kode "
|
||
"suara. Penyelidikan diperlukan untuk memulihkan bagaimana koordinat layar "
|
||
"tersebut menjadi nilai panning kiri / kanan."
|
||
|
||
#. {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}Agen pengkodean Anda"
|
||
|
||
#: 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 "Salin"
|
||
|
||
#. {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}Gunakan REA untuk menemukan cara DX-Ball menghitung "
|
||
"pemosisian suara stereo. Jelaskan perhitungannya dan tunjukkan "
|
||
"kodenya.{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 ""
|
||
"Contoh prompt untuk agen pengkodean Anda, dengan executable lokal tersedia. "
|
||
"Investigasi di bawah ini menunjukkan pertanyaan REA dan bukti di balik "
|
||
"jawabannya."
|
||
|
||
#: 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 ""
|
||
"Agen menggunakan REA untuk memeriksa fungsi, mengikuti fungsi pemanggilnya "
|
||
"yang rusak dan membaca konstanta dari executable. Hasil tersebut memberikan "
|
||
"masukan dan aritmatika yang diperlukan untuk menulis fungsi C di bawah ini."
|
||
|
||
#. {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 ""
|
||
"Hasil fungsi pertama untuk {ph0} termasuk deklarasi pseudocode {ph1} dan "
|
||
"menelepon {ph2}. Tampilan instruksinya menunjukkan input tumpukan dan "
|
||
"operasi floating-point. Ketidaksesuaian itu memberi agen alasan konkret "
|
||
"untuk terus menyelidiki."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:326
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "The first decompiler view"
|
||
msgstr "Tampilan dekompiler pertama"
|
||
|
||
#: 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 ""
|
||
"Outputnya menunjukkan panggilan konversi. Membaca petunjuk di bawah ini "
|
||
"mengungkapkan masukan dan perhitungan yang memanggil panggilan itu."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:345
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Three questions answered through REA"
|
||
msgstr "Tiga pertanyaan dijawab melalui REA"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:348
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Recover the missing input"
|
||
msgstr "Pulihkan input yang hilang"
|
||
|
||
#. {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 ""
|
||
"Hasil fungsi menyertakan instruksi bersama pseudocode dan fungsi pemanggil. "
|
||
"Di sini, {ph0} memperlihatkan input integer yang hilang dari tampilan "
|
||
"decompiler."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:372
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Follow the caller to understand the input"
|
||
msgstr "Ikuti fungsi pemanggil untuk memahami masukannya"
|
||
|
||
#. {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 mengidentifikasi fungsi pemanggil ini pada hasil pertama. Skala "
|
||
"instruksi sebelumnya {ph0} sebesar 30; menambahkan 20 memberikan koordinat "
|
||
"layar bata, {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 "Baca nilai di balik alamat memori"
|
||
|
||
#: 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 ""
|
||
"Byte yang dikembalikan menetapkan dua konstanta aritmatika dan skala pan "
|
||
"awal. Agen sekarang memiliki nilai yang diperlukan untuk ekspresi C."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:425
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "From REA's findings to C"
|
||
msgstr "Dari temuan REA hingga C"
|
||
|
||
#: 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 ""
|
||
"Ikuti lima langkah di bawah ini. Setiap pilihan menyoroti instruksi asli dan"
|
||
" baris C yang mereka informasikan."
|
||
|
||
#. {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} Masukan"
|
||
|
||
#. {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} Lipat gandakan"
|
||
|
||
#. {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} Kurangi"
|
||
|
||
#. {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} Skala"
|
||
|
||
#. {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} Kembali"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:480
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Original x86 · excerpt"
|
||
msgstr "x86 asli · kutipan"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:501
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Reconstructed C"
|
||
msgstr "Direkonstruksi C"
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>[EBP+8]</code>
|
||
#. {ph3}: <code>FILD</code>
|
||
#. {ph4}: <code>x</code>
|
||
#: website/public/showcase/dx-ball/index.html: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 * Baca inputnya.{ph1} Tampilan instruksi dalam hasil fungsi REA "
|
||
"berbunyi {ph2} dan menggunakan {ph3} untuk memuat bilangan bulat. Mengikuti "
|
||
"fungsi pemanggilnya melalui REA menetapkan arti koordinat layar dari "
|
||
"parameter C {ph4}."
|
||
|
||
#. {ph0}: <strong>
|
||
#. {ph1}: </strong>
|
||
#. {ph2}: <code>FMUL</code>
|
||
#. {ph3}: <code>0x420068</code>
|
||
#. {ph4}: <code>read_bytes</code>
|
||
#. {ph5}: <code>1.5625</code>
|
||
#: website/public/showcase/dx-ball/index.html: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 * Kalikan dengan 1,5625.{ph1} {ph2} membaca dobel di {ph3}. Byte "
|
||
"yang dikembalikan oleh REA {ph4} dekode ke {ph5}; C menggunakan konstanta "
|
||
"yang sama."
|
||
|
||
#. {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 * Kurangi 500,0.{ph1} {ph2} membaca dobel di {ph3}. Hasil byte REA "
|
||
"diterjemahkan menjadi {ph4}, menggeser pusat perhitungan ke koordinat layar "
|
||
"{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 * Terapkan skala yang disimpan.{ph1} Yang kedua {ph2} membaca {ph3}."
|
||
" Global itu bernama {ph4} dalam sumber yang dipelihara. Pembacaan byte "
|
||
"kedua REA menetapkan nilai awalnya dari {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 * Mengembalikan bilangan bulat.{ph1} Panggilan di {ph2} jangkauan "
|
||
"{ph3}, diidentifikasi dalam hasil callee REA. C memberikan hasil ke {ph4}; "
|
||
"perbandingan original-x86 periksa nilai yang dikembalikan."
|
||
|
||
#: 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 ""
|
||
"Kutipan perakitan memilih input, aritmatika, dan instruksi pengembalian. "
|
||
"Daftar lengkap di bawah ini juga mencakup penyimpanan intervensi dan "
|
||
"penyiapan serta pembersihan fungsi."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:569
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Full assembly and supporting evidence"
|
||
msgstr "Perakitan lengkap dan bukti pendukung"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:572
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "REA result · 0x406400–0x40643e"
|
||
msgstr "Hasil REA · 0x406400-0x40643e"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:606
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "What the caller supplies"
|
||
msgstr "Apa yang disediakan fungsi pemanggil"
|
||
|
||
#. {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 ""
|
||
"Fungsi pukulan bata di {ph0} menskalakan koordinat ubinnya sebesar 30, "
|
||
"menambahkan 20, lalu mendorongnya sebelum panggilan:"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:621
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "What the data reads establish"
|
||
msgstr "Apa yang dibaca data menetapkan"
|
||
|
||
#: 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 "Pembacaan byte REA, diterjemahkan sebagai ganda little-endian"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:629
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Address"
|
||
msgstr "Alamat"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:630
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Value"
|
||
msgstr "Nilai"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:631
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Used for"
|
||
msgstr "Digunakan untuk"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:638
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "First multiplication"
|
||
msgstr "Perkalian pertama"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:643
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Subtraction"
|
||
msgstr "Pengurangan"
|
||
|
||
#. {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} awalnya"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:648
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Stored pan scale"
|
||
msgstr "Skala panci tersimpan"
|
||
|
||
#: 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 ""
|
||
"Direkam dengan REA 4.1.0 untuk target DX-Ball 1.07 yang disematkan hash. "
|
||
"Catatan investigasi terkait menyimpan ID Bukti."
|
||
|
||
#. {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}Sumber yang dipelihara{ph1} · {ph2}Catatan investigasi dan referensi "
|
||
"bukti{ph3}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:672
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Checking the recovered function"
|
||
msgstr "Memeriksa fungsi yang dipulihkan"
|
||
|
||
#: 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 ""
|
||
"Fungsi yang dipulihkan melewati dua pemeriksaan: nilai pengembaliannya cocok"
|
||
" dengan aslinya, dan byte yang dikompilasi cocok dengan yang dapat "
|
||
"dieksekusi."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:679
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "3,205 behavior cases"
|
||
msgstr "3.205 kasus perilaku"
|
||
|
||
#: 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 ""
|
||
"Pengujian menjalankan fungsi x86 asli dan membandingkan nilai "
|
||
"pengembaliannya dengan C. Pengujian mencakup setiap posisi bilangan bulat "
|
||
"dari 0 hingga 640 pada lima skala panci: 0, 0,5, 1, 20, dan -1."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:688
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "63 matching bytes"
|
||
msgstr "63 byte yang cocok"
|
||
|
||
#: 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 ""
|
||
"Fungsi C dikompilasi dengan rantai alat VC4.0 yang disematkan. Replay "
|
||
"kompilator cocok dengan fungsi lengkap setelah menerapkan relokasi yang "
|
||
"ditinjau dan memeriksa konstanta yang direferensikan."
|
||
|
||
#: 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 ""
|
||
"Pada skala 1, perhitungan yang dipulihkan mengembalikan -500 di tepi kiri, 0"
|
||
" di tengah, dan 500 di tepi kanan. Bagian selanjutnya dari pekerjaan audio "
|
||
"adalah mengintegrasikan nilai tersebut dengan backend suara game."
|
||
|
||
#. {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}Baca detail pemutaran ulang kompiler{ph1}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:712
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Continue the investigation"
|
||
msgstr "Lanjutkan penyelidikan"
|
||
|
||
#: 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 ""
|
||
"Pendekatan yang sama digunakan untuk pembaruan partikel, antrean ledakan, "
|
||
"dan pembuatan bonus: periksa fungsi yang relevan, pulihkan status dan "
|
||
"dependensinya, lalu bandingkan implementasinya dengan aslinya."
|
||
|
||
#: 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 ""
|
||
"Untuk memeriksa sendiri fungsi sound-pan, ikuti petunjuk penyiapan proyek "
|
||
"DX-Ball dan berikan target aslinya yang sesuai. Lalu lari:"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:726
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "In the DX-Ball checkout"
|
||
msgstr "Dalam checkout 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} Repositori DX-Ball{ph1}{ph2}Sumber saat ini, kemajuan, dan pengaturan "
|
||
"lokal.{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} Alur kerja analisis REA{ph1}{ph2}Ikuti perhitungannya, lalu gunakan "
|
||
"pendekatan yang sama dengan biner Anda sendiri.{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}Partikel dan produksi bonus{ph1}{ph2}Investigasi yang lebih besar "
|
||
"terhadap status, antrean, dan penulisan piksel.{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 "Rekayasa Balik DX-Ball: Panning Suara-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 ""
|
||
"Ikuti rekonstruksi DX-Ball dari analisis biner melalui REA ke pengujian C, "
|
||
"original-x86 yang dipertahankan, dan pencocokan byte fungsi yang "
|
||
"dikompilasi."
|
||
|
||
#: 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 sound-pan investigation; gulir secara horizontal pada layar yang "
|
||
"lebih kecil"
|
||
|
||
#: 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 ""
|
||
"DXBALL.Fungsi EXE 0x00406400 diperiksa dengan REA . Fungsi pemanggil yang "
|
||
"terkena batu bata memasok 20 ditambah 30 kali tile_x. Instruksi memuat x, "
|
||
"kalikan dengan 1,5625, kurangi 500,0, terapkan pan_scale dan kembalikan "
|
||
"bilangan bulat. C yang dipertahankan diperiksa secara independen terhadap "
|
||
"x86 asli dalam 3.205 kasus dan oleh replay kompiler VC4. 0 yang cocok dengan"
|
||
" 63 byte."
|
||
|
||
#: website/public/showcase/dx-ball/index.html:230
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:239
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "DX-Ball reconstruction case study"
|
||
msgstr "Studi kasus rekonstruksi DX-Ball"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:290
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Copy example prompt"
|
||
msgstr "Salin contoh prompt"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:431
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Follow the sound-pan calculation"
|
||
msgstr "Ikuti perhitungan posisi suara kiri / kanan"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:481
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Copy original assembly excerpt"
|
||
msgstr "Salin kutipan perakitan asli"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:502
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Copy sound-pan function"
|
||
msgstr "Salin fungsi panci suara"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:573
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Copy complete sound-pan assembly"
|
||
msgstr "Salin rakitan panci suara lengkap"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:727
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Copy DX-Ball analysis command"
|
||
msgstr "Salin perintah analisis DX-Ball"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:785
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/showcase/index.html:103
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / Menampilkan"
|
||
|
||
#: website/public/showcase/index.html:195
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "REA case studies."
|
||
msgstr "Studi kasus 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, game, Electron, dan tantangan KKP, dengan kode, angka, dan hasil "
|
||
"yang dicentang."
|
||
|
||
#: website/public/showcase/index.html:203
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Android · APK analysis"
|
||
msgstr "Android * Analisis APK"
|
||
|
||
#: website/public/showcase/index.html:205
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "How an authenticator generates a login code"
|
||
msgstr "Cara autentikator membuat kode masuk"
|
||
|
||
#: 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 ""
|
||
"Temukan perhitungan kode enam digit Aegis dalam APK yang dirilis . Lacak "
|
||
"metode pembuatan dengan REA, lalu pindahkan jam demo untuk melihat mengapa "
|
||
"kode berubah setiap 30 detik."
|
||
|
||
#: website/public/showcase/index.html:217
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the Android case study"
|
||
msgstr "Baca studi kasus Android"
|
||
|
||
#: website/public/showcase/index.html:221
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "CTF · Native analysis"
|
||
msgstr "KKP * Analisis program kode mesin"
|
||
|
||
#: website/public/showcase/index.html:223
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Solve a CTF flag checker"
|
||
msgstr "Selesaikan pemeriksa bendera KKP"
|
||
|
||
#: 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 ""
|
||
"Periksa tantangan DownUnderCTF yang mudah dengan REA . Temukan fungsi "
|
||
"pemeriksaannya, ubah mask dan jumlah menjadi persamaan, lalu verifikasi flag"
|
||
" yang diselesaikan dengan program aslinya."
|
||
|
||
#: website/public/showcase/index.html:235
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the CTF case study"
|
||
msgstr "Baca studi kasus KKP"
|
||
|
||
#: website/public/showcase/index.html:239
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Native · Reconstruction"
|
||
msgstr "Asli * Rekonstruksi"
|
||
|
||
#: website/public/showcase/index.html:241
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "DX-Ball's sound-pan calculation"
|
||
msgstr "Perhitungan posisi suara kiri/kanan 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 ""
|
||
"Pulihkan perhitungan posisi suara kiri / kanan dari game Windows 1996. "
|
||
"Instruksi REA, referensi pemanggil, dan konstanta numerik mengarah ke fungsi"
|
||
" C kecil, diperiksa terhadap perilaku asli dan semua 63 byte yang "
|
||
"dikompilasi."
|
||
|
||
#: website/public/showcase/index.html:254
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the DX-Ball case study"
|
||
msgstr "Baca studi kasus DX-Ball"
|
||
|
||
#: website/public/showcase/index.html:258
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Electron · Feature tracing"
|
||
msgstr "Electron * Penelusuran fitur"
|
||
|
||
#: website/public/showcase/index.html:260
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "How Notion copies text and HTML"
|
||
msgstr "Bagaimana Notion menyalin teks dan HTML"
|
||
|
||
#: 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 ""
|
||
"Lacak API yang menghadap ke halaman melalui Notion yang dikemas JavaScript ."
|
||
" Ikuti pembungkus IPC-nya ke papan klip sistem, lalu lihat bagaimana penanda"
|
||
" HTML kecil menyimpan data blok kaya yang terhubung ke salinan."
|
||
|
||
#: website/public/showcase/index.html:272
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the Notion case study"
|
||
msgstr "Baca studi kasus Notion"
|
||
|
||
#: website/public/showcase/index.html:276
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "PC-98 DOS · Reconstruction"
|
||
msgstr "PC-98 DOS * Rekonstruksi"
|
||
|
||
#: website/public/showcase/index.html:278
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "How TH04 aims a ring of bullets"
|
||
msgstr "Bagaimana TH04 mengarahkan cincin peluru"
|
||
|
||
#: 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 ""
|
||
"Periksa pembantu sudut 16-bit asli dengan REA . Cocokkan operasi perkalian, "
|
||
"pembagian, dan koordinatnya dengan C++ yang dapat dibaca, lalu lihat "
|
||
"bagaimana mereka menghasilkan cincin yang ditujukan untuk pemain."
|
||
|
||
#: website/public/showcase/index.html:290
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the TH04 case study"
|
||
msgstr "Baca studi kasus TH04"
|
||
|
||
#: website/public/showcase/index.html:295
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Step-by-step guides"
|
||
msgstr "Panduan langkah demi langkah"
|
||
|
||
#: 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 ""
|
||
"Panduan berjalan melalui perhitungan asli, ekspor Electron, dan permintaan "
|
||
"browser. Masing-masing dimulai dengan target yang cepat dan konkret."
|
||
|
||
#: website/public/showcase/index.html:300
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Read the guides"
|
||
msgstr "Baca panduannya"
|
||
|
||
#: website/public/showcase/index.html:6
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Reverse Engineering Case Studies — REA"
|
||
msgstr "Studi Kasus Rekayasa Terbalik-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 ""
|
||
"Ikuti investigasi REA melalui kode, angka, dan demo: autentikator Android, "
|
||
"DX-Ball , Notion, TH04, dan pemeriksa bendera DownUnderCTF."
|
||
|
||
#: website/public/showcase/index.html:317
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/showcase/notion/index.html:103
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / {ph2}Menampilkan{ph3} / Notion"
|
||
|
||
#: website/public/showcase/notion/index.html:197
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Case study · Electron"
|
||
msgstr "Studi kasus * 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 "Bagaimana salinan Notion{ph0}teks dan HTML."
|
||
|
||
#: 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 ""
|
||
"Lacak panggilan papan klip dari API halaman Notion, melalui proses pramuat "
|
||
"dan utama, ke penulis papan klip Electron."
|
||
|
||
#: website/public/showcase/notion/index.html:203
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Notion Desktop 7.6.1 · JavaScript · REA"
|
||
msgstr "Notion Desktop 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 "Jembatan di dalam paket desktop 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 * Page-facing API{ph1} {ph2}{ph3}{ph4} {ph5}Preload memperlihatkan "
|
||
"metode yang dapat dipanggil.{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 * Pembungkus pramuat{ph1} {ph2}{ph3}{ph4} {ph5}Pembungkus "
|
||
"mengirimkan saluran dan argumen.{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 * Pengendali proses utama{ph1} {ph2}{ph3}{ph4} {ph5}Penerima "
|
||
"memeriksa halaman mana yang mengirimnya.{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 * Papan klip sistem{ph1} {ph2}{ph3}{ph4} {ph5} Electron menulis teks"
|
||
" dan HTML yang disediakan.{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 "Satu saluran bergabung dengan kedua sisi: {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 ""
|
||
"Kode yang dikemas menggunakan saluran yang sama dalam proses pramuat dan "
|
||
"proses utama. Menyelesaikan pembungkus mengungkapkan panggilan Electron di "
|
||
"balik nama-nama itu."
|
||
|
||
#: website/public/showcase/notion/index.html:251
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "In this case study"
|
||
msgstr "Dalam studi kasus ini"
|
||
|
||
#. {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}Ikuti jembatan papan klip{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}Menjaga struktur blok{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}Lebih banyak contoh dan sumber{ph1}"
|
||
|
||
#: website/public/showcase/notion/index.html:260
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Where does the copy operation go?"
|
||
msgstr "Ke mana perginya operasi penyalinan?"
|
||
|
||
#. {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 ""
|
||
"Halaman melihat metode yang disebut {ph0}. Implementasinya dalam preload "
|
||
"adalah pembungkus. Pertanyaan yang berguna adalah apa yang dikirim oleh "
|
||
"pembungkus itu, dan kode mana yang menerimanya."
|
||
|
||
#. {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}Agen pengkodean Anda"
|
||
|
||
#: 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 "Salin"
|
||
|
||
#. {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}Gunakan REA untuk melacak bagaimana Notion menyalin teks dan"
|
||
" HTML ke papan klip sistem. Tunjukkan kode pada setiap "
|
||
"langkah.{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 ""
|
||
"Contoh prompt dengan paket aplikasi lokal Notion tersedia untuk agen "
|
||
"pengkodean Anda."
|
||
|
||
#: website/public/showcase/notion/index.html:294
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "REA finds where to start reading"
|
||
msgstr "REA menemukan tempat untuk mulai membaca"
|
||
|
||
#: 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 ""
|
||
"Menganalisis preload tab dengan REA menempatkan API yang diekspos ke halaman"
|
||
" dan panggilan yang mengirimkan permintaan IPC. Kedua temuan datang dengan "
|
||
"rentang sumber dalam bundel yang diperkecil:"
|
||
|
||
#: website/public/showcase/notion/index.html:301
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "REA findings → two places to open"
|
||
msgstr "Temuan REA →"
|
||
|
||
#. {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 ""
|
||
"Bidang yang dipilih dari yang baru {ph0} hasil pada preload tab Notion, "
|
||
"direkam dengan REA 4.1.0. Posisi menggunakan baris bundel asli dan kolom "
|
||
"berbasis nol."
|
||
|
||
#. {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 ""
|
||
"Agen membuka lokasi tersebut, menemukan anggota papan klip di API rakitan, "
|
||
"dan membaca {ph0}. Situs panggilannya memasok {ph1}. Nama itu memberi agen "
|
||
"sesuatu yang tepat untuk dicari di bundel utama. Empat kutipan di bawah ini "
|
||
"menunjukkan rute yang menghubungkannya."
|
||
|
||
#: website/public/showcase/notion/index.html:332
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Four short pieces of code"
|
||
msgstr "Empat potongan kode pendek"
|
||
|
||
#: 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 ""
|
||
"Disederhanakan dari JavaScript yang dikemas, dengan nama variabel yang dapat"
|
||
" dibaca. Anggota yang tidak terkait dihilangkan."
|
||
|
||
#: website/public/showcase/notion/index.html:339
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Start at the API exposed to the page"
|
||
msgstr "Mulai dari API yang diekspos ke halaman"
|
||
|
||
#. {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 ""
|
||
"Anggota ini menyediakan nama saluran. Implementasi dari {ph0} memberitahu "
|
||
"kita bagaimana permintaan meninggalkan proses halaman."
|
||
|
||
#: website/public/showcase/notion/index.html:368
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Resolve the preload's wrapper"
|
||
msgstr "Selesaikan pembungkus pramuat"
|
||
|
||
#. {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 ""
|
||
"Fungsi yang dikembalikan meneruskan argumen melalui IPC request-and-respons "
|
||
"Electron. Sekarang kita bisa mencari {ph0} di sisi proses utama."
|
||
|
||
#: website/public/showcase/notion/index.html:399
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Check how the receiver is registered"
|
||
msgstr "Periksa bagaimana penerima didaftarkan"
|
||
|
||
#. {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 ""
|
||
"Proses utama menggunakan pembungkus lain. Nya {ph0} metode mendaftarkan "
|
||
"sebuah {ph1} penerima untuk saluran tersebut."
|
||
|
||
#: website/public/showcase/notion/index.html:427
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Find the write and its sender check"
|
||
msgstr "Temukan tulisan dan cek pengirimnya"
|
||
|
||
#: 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 ""
|
||
"Ini adalah tujuannya. Setelah memeriksa pengirim, penangan meneruskan data "
|
||
"yang disediakan ke API papan klip Electron. Saluran dan dua pembungkus yang "
|
||
"diselesaikan menghubungkan metode yang diekspos ke panggilan ini."
|
||
|
||
#: website/public/showcase/notion/index.html:461
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "How does a copied block keep its structure?"
|
||
msgstr "Bagaimana blok yang disalin mempertahankan strukturnya?"
|
||
|
||
#. {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 ""
|
||
"Editor web Notion mengirimkan teks dan HTML melalui {ph0}. Itu menyimpan "
|
||
"data blok secara lokal dan menempatkan ID di HTML yang disalin untuk "
|
||
"menghubungkannya."
|
||
|
||
#: website/public/showcase/notion/index.html:468
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "HTML links to saved block data"
|
||
msgstr "Tautan HTML ke data blok yang disimpan"
|
||
|
||
#: website/public/showcase/notion/index.html:492
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Read the HTML ID"
|
||
msgstr "Baca ID HTML-nya"
|
||
|
||
#: website/public/showcase/notion/index.html:493
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Find the same local ID"
|
||
msgstr "Temukan ID lokal yang sama"
|
||
|
||
#: website/public/showcase/notion/index.html:494
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Restore Notion block data"
|
||
msgstr "Pulihkan data blok 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 ""
|
||
"Teks ilustrasi dan ID. Pengujian modul yang direkam mengembalikan data blok "
|
||
"saat ID cocok; entri basi hanya mengembalikan teks dan HTML."
|
||
|
||
#: 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 ""
|
||
"Saat menempel, Notion mencari ID HTML dan memeriksanya terhadap salinan yang"
|
||
" disimpan. ID yang cocok mengembalikan data blok."
|
||
|
||
#: 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 ""
|
||
"Format papan klip direkam dari aset web yang di-cache pada 13 Juli 2026."
|
||
|
||
#: website/public/showcase/notion/index.html:512
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "More examples and sources"
|
||
msgstr "Lebih banyak contoh dan sumber"
|
||
|
||
#: website/public/showcase/notion/index.html:514
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Another example: Markdown tables"
|
||
msgstr "Contoh lain: Tabel penurunan harga"
|
||
|
||
#: 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 mem-parsing Penurunan harga menjadi data blok. Contoh ini menunjukkan"
|
||
" bagaimana tabel menjadi header dan baris data."
|
||
|
||
#: website/public/showcase/notion/index.html:520
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "A table through Notion's Markdown parser"
|
||
msgstr "Tabel melalui parser penurunan harga 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 ""
|
||
"Output yang direkam dari parser Penurunan harga yang diekstraksi. Tabel "
|
||
"menjadi baris dan sel."
|
||
|
||
#: website/public/showcase/notion/index.html:548
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Another path: the offline SQLite connection"
|
||
msgstr "Jalur lain: koneksi SQLite offline"
|
||
|
||
#. {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 ""
|
||
"Permintaan penyaji Notion {ph0} melalui IPC. Proses utama membuat saluran "
|
||
"pesan dan memberikan satu port ke perender dan port lainnya ke proses "
|
||
"utilitas SQLite. Kumpulan pernyataan dan hasil selanjutnya melewati port "
|
||
"tersebut."
|
||
|
||
#: 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 ""
|
||
"Mengikuti handoff ini menjelaskan di mana pekerjaan basis data berjalan, dan"
|
||
" mengapa hanya melacak permintaan IPC awal yang melewatkan percakapan "
|
||
"selanjutnya."
|
||
|
||
#: website/public/showcase/notion/index.html:562
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Sources and how to read the excerpts"
|
||
msgstr "Sumber dan cara membaca kutipannya"
|
||
|
||
#. {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 ""
|
||
"Jembatan papan klip berasal dari Notion Desktop 7.6.1 {ph0}: tab memuat "
|
||
"sebelumnya dan {ph1}. Kutipan memperluas nama variabel yang diperkecil dan "
|
||
"menghilangkan kode yang tidak terkait; pembantu pemeriksaan pengirim "
|
||
"ditampilkan dengan yang mendasarinya {ph2} telepon."
|
||
|
||
#. {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 ""
|
||
"Papan klip virtual dan contoh Penurunan Harga berasal dari aset web yang di-"
|
||
"cache pada 13 Juli 2026, termasuk modul {ph0}, {ph1}, {ph2} dan {ph3}. Aset "
|
||
"tersebut memiliki versinya masing-masing. Probe yang disimpan menjalankan "
|
||
"modul yang diekstraksi dan harness kecil; keluarannya menggambarkan probe "
|
||
"tersebut daripada sesi UI desktop yang diambil."
|
||
|
||
#: 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 ""
|
||
"Hasil REA yang ditampilkan di sini adalah analisis terfokus dari preload tab"
|
||
" yang disimpan, yang direkam dengan paket REA 4.1.0 yang diterbitkan. Ini "
|
||
"menempatkan operasi API dan memanggil. Anggota clipboard dan penerima yang "
|
||
"cocok dihubungkan dengan membaca implementasi pembungkusnya dalam paket."
|
||
|
||
#. {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 ""
|
||
"Contoh penurunan harga menggunakan modul parser {ph0}. Pengujian modul yang "
|
||
"disimpan menunjukkan bahwa filter halaman dan obrolan mempertahankan tabel "
|
||
"ini. Pengurai tempel / impor, Penurunan Harga terstruktur, dan AI / obrolan "
|
||
"memiliki titik masuk dan format perantara yang terpisah."
|
||
|
||
#. {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} Panduan aplikasi JavaScript{ph1}{ph2}Ikuti fitur ekspor aplikasi "
|
||
"Electron kecil.{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} Rekonstruksi DX-Ball{ph1}{ph2}Ikuti instruksi asli ke fungsi C yang "
|
||
"dicentang.{ph3}"
|
||
|
||
#: website/public/showcase/notion/index.html:6
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Notion Electron Reverse Engineering: Clipboard — REA"
|
||
msgstr "Notion Electron Rekayasa Balik: Papan Klip-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 ""
|
||
"Ikuti API papan klip Notion melalui pramuat Electron, pembungkus IPC, dan "
|
||
"proses utama, dengan kutipan kode pendek dan tampilan format papan klip yang"
|
||
" kaya."
|
||
|
||
#: website/public/showcase/notion/index.html:250
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/showcase/notion/index.html:258
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Notion Electron case study"
|
||
msgstr "Studi kasus Notion Electron"
|
||
|
||
#: website/public/showcase/notion/index.html:272
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Copy Notion analysis prompt"
|
||
msgstr "Salin prompt analisis Notion"
|
||
|
||
#: website/public/showcase/notion/index.html:345
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Copy Notion preload excerpt"
|
||
msgstr "Salin kutipan pramuat Notion"
|
||
|
||
#: website/public/showcase/notion/index.html:374
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Copy Notion invoke wrapper excerpt"
|
||
msgstr "Salin kutipan pembungkus pemanggilan Notion"
|
||
|
||
#: website/public/showcase/notion/index.html:405
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Copy Notion handler wrapper excerpt"
|
||
msgstr "Salin kutipan pembungkus penangan Notion"
|
||
|
||
#: website/public/showcase/notion/index.html:433
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Copy Notion clipboard receiver excerpt"
|
||
msgstr "Salin kutipan penerima papan klip Notion"
|
||
|
||
#: website/public/showcase/notion/index.html:488
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Restoring rich clipboard data on paste"
|
||
msgstr "Memulihkan data papan klip yang kaya saat ditempel"
|
||
|
||
#: website/public/showcase/notion/index.html:631
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/showcase/th04/index.html:103
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Rumah{ph1} / {ph2}Menampilkan{ph3} / TH04"
|
||
|
||
#: website/public/showcase/th04/index.html:197
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Case study · Touhou 4: Lotus Land Story"
|
||
msgstr "Studi kasus * Touhou 4: Kisah Tanah Teratai"
|
||
|
||
#. {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 "Merekonstruksi TH04{ph0}pola peluru."
|
||
|
||
#: 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 ""
|
||
"Cincin peluru dimulai dengan perhitungan sudut pendek. Gunakan REA untuk "
|
||
"memeriksa fungsi DOS asli, lalu ikuti instruksinya ke dalam C++yang dapat "
|
||
"dibaca."
|
||
|
||
#: 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 * DOS 16-bit * C++ dan perakitan"
|
||
|
||
#: website/public/showcase/th04/index.html:205
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "View the TH04 reconstruction"
|
||
msgstr "Lihat rekonstruksi TH04"
|
||
|
||
#: website/public/showcase/th04/index.html:211
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "From original instructions to checked source"
|
||
msgstr "Dari instruksi asli hingga sumber yang dicentang"
|
||
|
||
#. {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 * Game asli{ph1}{ph2}UTAMA.EXE{ph3}{ph4}PC-98 dapat dieksekusi dan "
|
||
"pembantu sudut pelurunya.{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 * Periksa dengan REA {ph1}{ph2}Instruksi + "
|
||
"referensi{ph3}{ph4}Verifikasi kode DOS yang dimuat dan baca perhitungan "
|
||
"sudut dari yang dapat dieksekusi.{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 * Baca C++{ph1}{ph2}Ruang → {ph3}{ph4}Hubungkan setiap operasi ke "
|
||
"rekonstruksi yang dipertahankan.{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 * Periksa sumbernya{ph1}{ph2}2.139 byte yang "
|
||
"cocok{ph3}{ph4}Pemeriksaan kompilator yang direkam mencakup kode pembuatan "
|
||
"peluru yang berisi pembantu ini.{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 mengembalikan kode asli dan bukti analisisnya. Proyek TH04 menyediakan "
|
||
"pemeriksaan sumber dan kompiler yang dipelihara."
|
||
|
||
#: website/public/showcase/th04/index.html:252
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "In this case study"
|
||
msgstr "Dalam studi kasus ini"
|
||
|
||
#. {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}Cincin peluru{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}Apa yang dikembalikan 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}Perakitan ke 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}Memeriksa sumbernya{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}Proyek lengkap{ph1}"
|
||
|
||
#: website/public/showcase/th04/index.html:263
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "How a ring aims at the player"
|
||
msgstr "Bagaimana sebuah cincin mengincar pemain"
|
||
|
||
#: 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 ""
|
||
"Serangan Elly meminta cincin terarah dengan hitungan awal 16. Satu pembantu "
|
||
"menghitung arah setiap peluru. Cincin yang sama dapat menghadap ke arah yang"
|
||
" tetap atau berbelok ke arah pemain."
|
||
|
||
#. {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}Agen pengkodean Anda"
|
||
|
||
#: 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 "Salin"
|
||
|
||
#. {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}Gunakan REA untuk menemukan bagaimana TH04 membuat cincin "
|
||
"peluru dan mengarahkannya ke pemain. Jelaskan perhitungannya dan tunjukkan "
|
||
"kodenya.{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 ""
|
||
"Contoh prompt, dengan eksekusi asli dan checkout rekonstruksi tersedia "
|
||
"secara lokal."
|
||
|
||
#. {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 menyimpan putaran searah jarum jam penuh dalam 256 unit sudut. Untuk 16"
|
||
" peluru, setiap indeks menambahkan 16 unit: {ph0}. Menambahkan arah pemain "
|
||
"memutar posisi tersebut bersama-sama."
|
||
|
||
#. {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 ""
|
||
"Ilustrasi matematika sudut yang dipulihkan untuk hitungan 16, arah pemain "
|
||
"40, dan rotasi templat 0. {ph0}Sosok terbuka{ph1}"
|
||
|
||
#: website/public/showcase/th04/index.html:326
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "The firing template in the recovered source"
|
||
msgstr "Templat penembakan di sumber yang dipulihkan"
|
||
|
||
#: website/public/showcase/th04/index.html:331
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Elly's ring attack · source excerpt"
|
||
msgstr "Serangan cincin Elly * kutipan sumber"
|
||
|
||
#. {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 ""
|
||
"Garis-garis ini memilih pola sebelum tingkat kesulitan dan penyetelan "
|
||
"kinerja. {ph0}Baca sumber serangan itu{ph1}."
|
||
|
||
#: website/public/showcase/th04/index.html:357
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "What REA returns"
|
||
msgstr "Apa yang dikembalikan 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 ""
|
||
"Kami memeriksa {ph0}, fungsi yang mengatur kecepatan dan sudut setiap "
|
||
"peluru. REA mengembalikan instruksi, pseudocode, dan referensinya. Tiga "
|
||
"bagian dari hasil itu menjelaskan polanya."
|
||
|
||
#: website/public/showcase/th04/index.html:366
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Check the DOS image before reading its code"
|
||
msgstr "Periksa gambar DOS sebelum membaca kodenya"
|
||
|
||
#: 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 ""
|
||
"Pemeriksaan mengikat kode yang dimuat dan catatan relokasi ke executable "
|
||
"yang disediakan. Jalur di atas dipersingkat untuk tampilan."
|
||
|
||
#: website/public/showcase/th04/index.html:393
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Read the ring's multiply and divide"
|
||
msgstr "Baca perkalian dan pembagian cincin"
|
||
|
||
#. {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} memegang indeks peluru. Pergeseran mengalikannya dengan 256, kemudian "
|
||
"pembagian menggunakan hitungan yang dibaca dari {ph1}. Nama sumber yang "
|
||
"dipertahankan bidang itu {ph2}. Urutan lengkapnya muncul di bawah ini."
|
||
|
||
#: website/public/showcase/th04/index.html:420
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Find where the pattern turns toward the player"
|
||
msgstr "Temukan di mana polanya mengarah ke pemain"
|
||
|
||
#: 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 ""
|
||
"Operan instruksi mengekspos dua perbedaan koordinat dan pembantu arah. Nilai"
|
||
" pengembaliannya ditambahkan ke sudut cincin relatif. Nama sumber membuat "
|
||
"alamat tersebut dapat dibaca; REA memungkinkan agen memeriksa operasi asli "
|
||
"di belakangnya."
|
||
|
||
#: website/public/showcase/th04/index.html:452
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "From assembly to readable C++"
|
||
msgstr "Dari perakitan ke C++yang dapat dibaca"
|
||
|
||
#: 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 ""
|
||
"Pilih langkah untuk mencocokkan instruksi asli dengan perhitungan sudut. "
|
||
"Ringkasan ini mengikuti jalur aimed-ring; sumber lengkap juga menangani "
|
||
"penyebaran, tumpukan, dan pola acak."
|
||
|
||
#. {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} Indeks"
|
||
|
||
#. {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} Ruang"
|
||
|
||
#. {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} Tujuan"
|
||
|
||
#. {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} Putar"
|
||
|
||
#. {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} Toko"
|
||
|
||
#: website/public/showcase/th04/index.html:508
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "REA · original 16-bit instructions"
|
||
msgstr "REA * instruksi 16-bit asli"
|
||
|
||
#: website/public/showcase/th04/index.html:542
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Readable C++ · aimed-ring summary"
|
||
msgstr "C++ yang dapat dibaca * ringkasan aimed-ring"
|
||
|
||
#. {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 * Baca indeks poin.{ph1} Argumen tumpukan dimuat ke dalam {ph2}. "
|
||
"Dalam cincin 16 peluru, indeks anggota ini berjalan dari 0 hingga 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 * Beri jarak arah di sekitar belokan penuh.{ph1} {ph2} dikalikan "
|
||
"dengan 256. Hitungannya nol-diperpanjang menjadi sebuah kata, lalu {ph3} "
|
||
"membagi produk dengan hitungan itu. Untuk hitungan 16, setiap indeks "
|
||
"memajukan 16 satuan sudut."
|
||
|
||
#. {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 * Tambahkan arah pemutar.{ph1} Kedua pengurangan tersebut membentuk "
|
||
"koordinat pemain-minus-asal. Helper arah mengembalikan sudut dalam {ph2}; "
|
||
"menambahkannya mengubah seluruh cincin ke arah pemain."
|
||
|
||
#. {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 * Tambahkan rotasi pola.{ph1} {ph2} menambahkan sudut templat. "
|
||
"Templat awal Elly menyetelnya ke nol; pola lain dapat menggunakan helper "
|
||
"yang sama dengan rotasi."
|
||
|
||
#. {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 * Pertahankan sudut akhir dalam satu byte.{ph1} Toko menulis {ph2} "
|
||
"ke bidang spawn-angle. Nilai membungkus setelah 255, seperti yang dilakukan "
|
||
"oleh pemeran unsigned-byte. Sumber di sekitarnya juga mengubah sudut dan "
|
||
"kecepatan ini menjadi kecepatan."
|
||
|
||
#: 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 ""
|
||
"Majelis memilih cabang aimed-ring, perhitungan aim, dan penyimpanan akhir. "
|
||
"C++ di atas adalah ringkasan yang dapat dibaca. Pemeriksaan kompiler di "
|
||
"bawah ini berlaku untuk sumber yang dipelihara dalam proyek tertaut."
|
||
|
||
#: website/public/showcase/th04/index.html:610
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Read the maintained ring and aim source"
|
||
msgstr "Baca sumber ring dan aim yang dipelihara"
|
||
|
||
#. {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}Ring makro{ph1} · {ph2}Tujuan dan sumber kecepatan{ph3} · "
|
||
"{ph4}Representasi sudut{ph5}"
|
||
|
||
#: website/public/showcase/th04/index.html:659
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Checking the maintained source"
|
||
msgstr "Memeriksa sumber yang dipelihara"
|
||
|
||
#: 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 ""
|
||
"Pemeriksaan terekam proyek TH04 mengkompilasi kode pembuatan peluru, "
|
||
"termasuk pembantu ini, dengan rantai alat Turbo C++ 4.0 J yang disematkan."
|
||
|
||
#: website/public/showcase/th04/index.html:667
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "2,139 matching bytes"
|
||
msgstr "2.139 byte yang cocok"
|
||
|
||
#: 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 ""
|
||
"Kode pembuatan peluru yang dikompilasi cocok dengan bagian 2.139 byte dari "
|
||
"executable asli."
|
||
|
||
#: website/public/showcase/th04/index.html:674
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Two clean builds"
|
||
msgstr "Dua bangunan bersih"
|
||
|
||
#: 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 ""
|
||
"Dua build terpisah menghasilkan byte pencocokan yang sama. Hash input yang "
|
||
"direkam cocok dengan sumber yang dipelihara yang ditunjukkan di sini."
|
||
|
||
#. {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 "Direkam pada 3 Oktober 2026. {ph0}Baca pemeriksaan kompilator{ph1}."
|
||
|
||
#: website/public/showcase/th04/index.html:689
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Target identity and analysis scope"
|
||
msgstr "Identitas target dan ruang lingkup analisis"
|
||
|
||
#: website/public/showcase/th04/index.html:694
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Original target"
|
||
msgstr "Target asli"
|
||
|
||
#. {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 byte, DOS MZ"
|
||
|
||
#: website/public/showcase/th04/index.html:698
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Helper entry"
|
||
msgstr "Entri pembantu"
|
||
|
||
#. {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} dalam gambar yang dimuat REA"
|
||
|
||
#: website/public/showcase/th04/index.html:702
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Original file offset"
|
||
msgstr "Offset berkas asli"
|
||
|
||
#. {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}, dikembalikan oleh {ph1}"
|
||
|
||
#: website/public/showcase/th04/index.html:709
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Recorded code inspection"
|
||
msgstr "Pemeriksaan kode yang direkam"
|
||
|
||
#: 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 Oktober 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 ""
|
||
"Pemeriksaan kompiler mencakup bagian kode bullet-add lengkap, termasuk "
|
||
"pembantu ini. Mereka juga membandingkan kontribusi PETANYA dan relokasi yang"
|
||
" tumpang tindih."
|
||
|
||
#. {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 memverifikasi gambar beban DOS statis pada segmen beban {ph0}. Alamatnya"
|
||
" menggambarkan gambar analisis itu. Hasil fungsi melaporkan 503 byte isi "
|
||
"dalam dua rentang dalam rentang 517 byte; instruksi yang dipilih di atas "
|
||
"terletak pada rentang yang dilaporkan tersebut."
|
||
|
||
#. {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 ""
|
||
"Nama sumber dan pemeriksaan kompiler berasal dari pos pemeriksaan TH04 "
|
||
"{ph0}. Pengamatan rekonstruksi sebelumnya menggunakan skrip analisis proyek "
|
||
"itu sendiri; halaman ini menambahkan pemeriksaan REA baru dari target awal "
|
||
"yang sama. Identitas game yang disediakan disematkan oleh manifes "
|
||
"repositorinya, dengan asal pristine-dump independen masih terbuka."
|
||
|
||
#: 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 ""
|
||
"Gambar tersebut mengilustrasikan perhitungan sudut. Kontrol permainan "
|
||
"lengkap, pengaturan waktu, dan perilaku perangkat keras PC-98 memiliki "
|
||
"pemeriksaan runtime terpisah dalam proyek rekonstruksi."
|
||
|
||
#: website/public/showcase/th04/index.html:744
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "The full TH04 reconstruction"
|
||
msgstr "Rekonstruksi lengkap 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 ""
|
||
"Proyek ini membangun empat produk DOS game dari maintained C++ dan assembly."
|
||
" Di luar pembuatan peluru, sumbernya mencakup tahapan, bos, rendering, "
|
||
"input, menu, akhiran, dan penanganan skor."
|
||
|
||
#. {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}Jelajahi repositori 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}Sumber pembuatan peluru{ph1}{ph2}Pembantu lengkap, jenis pola lain, dan"
|
||
" penyetelan templat.{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}Panduan membangun dan menjalankan DOS{ph1}{ph2}Bangun sumber dan uji "
|
||
"dalam alur kerja emulator PC-98 proyek.{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}Status proyek saat ini{ph1}{ph2}Verifikasi DOS dan port x64 asli yang "
|
||
"terpisah.{ph3}"
|
||
|
||
#: website/public/showcase/th04/index.html:6
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "TH04 Reverse Engineering: DOS Bullet Patterns — REA"
|
||
msgstr "Rekayasa Balik TH04: Pola Peluru DOS-REA"
|
||
|
||
#: website/public/showcase/th04/index.html:7
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid ""
|
||
"Inspect TH04's original 16-bit DOS code with REA. Follow the assembly and "
|
||
"recovered C++ to see how a ring of bullets is spaced and aimed at the "
|
||
"player."
|
||
msgstr ""
|
||
"Periksa kode DOS 16-bit asli TH04 dengan REA . Ikuti perakitan dan pulihkan "
|
||
"C++ untuk melihat bagaimana cincin peluru ditempatkan dan diarahkan ke "
|
||
"pemain."
|
||
|
||
#: website/public/showcase/th04/index.html:251
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/showcase/th04/index.html:261
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "TH04 bullet-pattern case study"
|
||
msgstr "Studi kasus pola peluru TH04"
|
||
|
||
#: website/public/showcase/th04/index.html:276
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Copy TH04 example prompt"
|
||
msgstr "Salin prompt contoh 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 memperbaiki dan mengarahkan cincin peluru; gulir secara horizontal pada"
|
||
" layar yang lebih kecil"
|
||
|
||
#: 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 ""
|
||
"Dua diagram cincin 16 peluru. Cincin tetap dimulai pada sudut nol. "
|
||
"Menambahkan arah pemain sebanyak 40 memutar setiap arah dengan jumlah yang "
|
||
"sama; poin-poin pertama yang disorot mengarah ke pemain. Keduanya menjaga "
|
||
"jarak 16 unit sudut, atau 22,5 derajat."
|
||
|
||
#: website/public/showcase/th04/index.html:332
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Copy TH04 firing template"
|
||
msgstr "Salin templat penembakan TH04"
|
||
|
||
#: website/public/showcase/th04/index.html:459
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Follow the TH04 aimed-ring calculation"
|
||
msgstr "Ikuti perhitungan cincin bertujuan TH04"
|
||
|
||
#: website/public/showcase/th04/index.html:509
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Copy TH04 assembly excerpt"
|
||
msgstr "Salin kutipan perakitan TH04"
|
||
|
||
#: website/public/showcase/th04/index.html:543
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Copy readable aimed-ring calculation"
|
||
msgstr "Salin perhitungan aimed-ring yang dapat dibaca"
|
||
|
||
#: website/public/showcase/th04/index.html:800
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#: website/public/assets/main.js:21
|
||
msgctxt "runtime"
|
||
msgid "Copied"
|
||
msgstr "Disalin"
|
||
|
||
#: website/public/assets/main.js:32
|
||
msgctxt "runtime"
|
||
msgid "Selected"
|
||
msgstr "Dipilih"
|
||
|
||
#: website/public/assets/main.js:23
|
||
msgctxt "runtime"
|
||
msgid "Code copied to clipboard."
|
||
msgstr "Kode disalin ke papan klip."
|
||
|
||
#: website/public/assets/main.js:34
|
||
msgctxt "runtime"
|
||
msgid "Code selected. Use your keyboard to copy it."
|
||
msgstr "Kode dipilih. Gunakan keyboard Anda untuk menyalinnya."
|
||
|
||
#: website/public/assets/main.js:148
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "REA on GitHub ({count})"
|
||
msgstr "REA di GitHub ({count})"
|
||
|
||
#: website/public/assets/dino-demo.js:77
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "Distance {distance}"
|
||
msgstr "Jarak {distance}"
|
||
|
||
#: website/public/assets/dino-demo.js:87
|
||
msgctxt "runtime"
|
||
msgid "Hit a cactus. Try another speed."
|
||
msgstr "Pukul kaktus. Coba kecepatan lain."
|
||
|
||
#: website/public/assets/dino-demo.js:87
|
||
msgctxt "runtime"
|
||
msgid "Space or Jump ↑"
|
||
msgstr "Ruang atau Melompat ↑"
|
||
|
||
#: website/public/assets/dino-demo.js:97
|
||
msgctxt "runtime"
|
||
msgid "Play again"
|
||
msgstr "Mainkan lagi"
|
||
|
||
#: website/public/assets/dino-demo.js:97
|
||
#: website/public/assets/dino-demo.js:111
|
||
msgctxt "runtime"
|
||
msgid "Play"
|
||
msgstr "Main"
|
||
|
||
#: website/public/assets/dino-demo.js:171
|
||
msgctxt "runtime"
|
||
msgid "Pause"
|
||
msgstr "Jeda"
|
||
|
||
#: website/public/assets/dino-demo.js:112
|
||
msgctxt "runtime"
|
||
msgid "Press Play, then jump over the cactus."
|
||
msgstr "Tekan Putar, lalu lompati kaktus."
|
||
|
||
#: website/public/assets/dino-demo.js:147
|
||
msgctxt "runtime"
|
||
msgid "Hit a cactus. Press Play again, or change the speed and restart."
|
||
msgstr "Pukul kaktus. Tekan Putar lagi, atau ubah kecepatan dan mulai ulang."
|
||
|
||
#: website/public/assets/dino-demo.js:172
|
||
msgctxt "runtime"
|
||
msgid "Running. Space or Jump clears a cactus."
|
||
msgstr "Lari. Ruang atau Lompatan membersihkan kaktus."
|
||
|
||
#: 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 "Berhenti sebentar. Tekan Putar untuk melanjutkan."
|
||
|
||
#: website/public/assets/dino-demo.js:203
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "Fixed speed: {speed}. Space or Jump clears a cactus."
|
||
msgstr "Kecepatan tetap: {speed}. Ruang atau Lompatan membersihkan kaktus."
|
||
|
||
#: website/public/assets/dino-demo.js:206
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "Fixed speed: {speed}. Press Play to try it."
|
||
msgstr "Kecepatan tetap: {speed}. Tekan Putar untuk mencobanya."
|
||
|
||
#: website/public/assets/dino-demo.js:215
|
||
msgctxt "runtime"
|
||
msgid "Recovered rule: start at 6, then increase toward 13."
|
||
msgstr "Aturan yang dipulihkan: mulai dari 6, lalu tingkatkan menjadi 13."
|
||
|
||
#: website/public/assets/dino-demo.js:216
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "Fixed speed: {speed}."
|
||
msgstr "Kecepatan tetap: {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 ""
|
||
"Memutar ulang aturan yang dipulihkan. Keempat nilai cocok dengan pemeriksaan"
|
||
" game asli yang dikontrol saat dibulatkan menjadi tiga desimal."
|
||
|
||
#: 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 ""
|
||
"Pemutaran ulang berbeda dari nilai game asli yang direkam. Bandingkan aturan"
|
||
" kecepatan dan pengaturan di atas."
|
||
|
||
#: website/public/assets/aegis-demo.js:22
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "{start}–{end} seconds"
|
||
msgstr "{start}–{end} detik"
|
||
|
||
#: website/public/assets/aegis-demo.js:29
|
||
#, python-brace-format
|
||
msgctxt "runtime"
|
||
msgid "{seconds} seconds, time block {block}"
|
||
msgstr "{seconds} detik, blok waktu {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 ""
|
||
"Perhitungan interaktif tidak tersedia di browser ini. Contoh menunjukkan "
|
||
"kode pada 59 detik."
|
||
|
||
#: website/public/assets/aegis-demo.js:62
|
||
msgctxt "runtime"
|
||
msgid "Checking…"
|
||
msgstr "Memeriksa…"
|
||
|
||
#: 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} cek lulus (enam kasus referensi, pada enam dan delapan "
|
||
"digit)."
|
||
|
||
#: website/public/assets/aegis-demo.js:81
|
||
msgctxt "runtime"
|
||
msgid "Could not run the reference checks. Try again."
|
||
msgstr "Tidak dapat menjalankan pemeriksaan referensi. Coba lagi."
|
||
|
||
#: website/public/assets/figures/analyst-thinking.svg:2
|
||
msgctxt "figure:analyst-thinking.svg"
|
||
msgid "An analyst thinking at a computer"
|
||
msgstr "Seorang analis berpikir di depan komputer"
|
||
|
||
#: 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 "Satu cek mengungkapkan satu karakter"
|
||
|
||
#: 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 ""
|
||
"Topeng ketujuh hanya memilih posisi 21 dalam kisi masukan enam kali enam. "
|
||
"Kode karakternya harus sama dengan 55, jadi karakternya adalah 7. Topeng "
|
||
"lainnya memilih posisi yang berbeda dan memberikan persamaan lebih lanjut."
|
||
|
||
#: 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 "Cek ketujuh. Label sel adalah posisi input, mulai dari 0."
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:27
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "Encoded mask: −21, +1, −14, 0"
|
||
msgstr "Topeng yang dikodekan: -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 "Lewati 21 sel. Pilih 1. Lewati 14. Berhenti di 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 "Hanya satu sel dalam jumlah ini"
|
||
|
||
#: 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 "Posisi 21 pada bendera harus berisi 7."
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:37
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "Selected: one cell"
|
||
msgstr "Dipilih: satu sel"
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:38
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "26 masks give 26 equations."
|
||
msgstr "26 topeng memberikan 26 persamaan."
|
||
|
||
#: website/public/assets/figures/ctf-mask-equation.svg:39
|
||
msgctxt "figure:ctf-mask-equation.svg"
|
||
msgid "Solve them together to find the flag."
|
||
msgstr "Selesaikan bersama untuk menemukan flag."
|
||
|
||
#: 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 "Investigasi panci suara 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 menyediakan bukti instruksi, pemanggil, dan pembacaan byte untuk satu "
|
||
"fungsi DX-Ball. Input tumpukan dikalikan dengan 1,5625, diimbangi dengan "
|
||
"500, diskalakan, dan dikonversi menjadi bilangan bulat. C yang dipertahankan"
|
||
" diperiksa dalam 3.205 kasus x86 asli dan replay kompiler 63-byte terpisah."
|
||
|
||
# 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 "Stack"
|
||
|
||
# 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 "input 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 "Integer"
|
||
|
||
# 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 "kembali"
|
||
|
||
# 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 "Fungsi hasil rekonstruksi"
|
||
|
||
# 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 "Kode C terawat"
|
||
|
||
# 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 "Saat benturan"
|
||
|
||
#: 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 "Kode asli"
|
||
|
||
# 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 "bandingkan"
|
||
|
||
# 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 kasus"
|
||
|
||
# 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 "Build 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 byte cocok"
|
||
|
||
#: 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 "Alur investigasi 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 ""
|
||
"Ajukan pertanyaan tentang target lokal. REA memeriksa dan menelusuri "
|
||
"melalui adaptor analisis lokal, mengembalikan bukti, dan mendukung "
|
||
"pertanyaan lanjutan saat agen Anda menjelaskan, menerapkan, dan menguji."
|
||
|
||
# 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. Tanya"
|
||
|
||
# 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 "Agen + target lokal"
|
||
|
||
# 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 "App / file / browser"
|
||
|
||
# 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. Analisis dan lacak"
|
||
|
||
#: 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. Baca bukti"
|
||
|
||
# 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 "Kode / referensi /"
|
||
|
||
# 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 "hal yang belum jelas"
|
||
|
||
# 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. Terapkan"
|
||
|
||
# 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 "Agen Anda"
|
||
|
||
# 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 "Jelaskan / buat / uji"
|
||
|
||
# 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 "Alat analisis"
|
||
|
||
# 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 "Adaptor analisis lokal"
|
||
|
||
# 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 "Pertanyaan lanjutan"
|
||
|
||
#: 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: mengatur jarak dan mengarahkan cincin peluru"
|
||
|
||
#: 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 ""
|
||
"Putaran searah jarum jam penuh memiliki 256 satuan sudut. Enam belas peluru "
|
||
"dimulai dari sudut nol, enam belas, tiga puluh dua, hingga 240. Menambahkan "
|
||
"contoh arah pemain dari empat puluh mengubah keenam belas arah menjadi satu;"
|
||
" poin-poin pertama ditujukan kepada pemain. Rotasi templat adalah nol."
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:24
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "Fixed ring"
|
||
msgstr "Cincin tetap"
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:25
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "First bullet: angle 0"
|
||
msgstr "Peluru pertama: sudut 0"
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:26
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "Aimed ring"
|
||
msgstr "Cincin bertujuan"
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:27
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "First bullet: player direction"
|
||
msgstr "Peluru pertama: arah pemain"
|
||
|
||
# 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 "Pusat"
|
||
|
||
#: website/public/assets/figures/th04-bullet-ring.svg:105
|
||
msgctxt "figure:th04-bullet-ring.svg"
|
||
msgid "Player"
|
||
msgstr "Pemain"
|
||
|
||
#: 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 "Jarak yang sama: 256 ÷ 16 = 16 satuan sudut = 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 "Studi kasus"
|
||
|
||
#: 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 "Blog"
|
||
|
||
#: 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 "Mulai"
|
||
|
||
#: 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 "Panduan"
|
||
|
||
#: 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 "Kode sumber"
|
||
|
||
#: 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 "Lisensi 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 "Gabung komunitas"
|
||
|
||
#: 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 "Ikuti di X"
|
||
|
||
#: website/public/examples/dino-lab/index.html:306
|
||
msgctxt "page:examples/dino-lab/index.html"
|
||
msgid "REA · selected script source"
|
||
msgstr "REA * sumber skrip yang dipilih"
|
||
|
||
#: website/public/first-investigation/index.html:374
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Source"
|
||
msgstr "Kode sumber"
|
||
|
||
#: website/public/first-investigation/index.html:428
|
||
msgctxt "page:first-investigation/index.html"
|
||
msgid "Expected formatter output"
|
||
msgstr "Keluaran formatter yang diharapkan"
|
||
|
||
#: website/public/guides/index.html:219
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Instructions"
|
||
msgstr "Instruksi"
|
||
|
||
#: website/public/guides/index.html:220
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Caller"
|
||
msgstr "Fungsi pemanggil"
|
||
|
||
#: website/public/guides/index.html:221
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Constants"
|
||
msgstr "Konstanta"
|
||
|
||
#: website/public/guides/index.html:222
|
||
msgctxt "page:guides/index.html"
|
||
msgid "C function"
|
||
msgstr "Fungsi C"
|
||
|
||
#: website/public/guides/index.html:237
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Button"
|
||
msgstr "Tombol"
|
||
|
||
#: website/public/guides/index.html:238
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Preload API"
|
||
msgstr "Preload API"
|
||
|
||
#: website/public/guides/index.html:239
|
||
msgctxt "page:guides/index.html"
|
||
msgid "IPC"
|
||
msgstr "IPC"
|
||
|
||
#: website/public/guides/index.html:239
|
||
msgctxt "page:guides/index.html"
|
||
msgid "CSV file"
|
||
msgstr "Berkas CSV"
|
||
|
||
#: website/public/guides/index.html:259
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Your click"
|
||
msgstr "Klik Anda"
|
||
|
||
#: website/public/guides/index.html:260
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Captured request"
|
||
msgstr "Permintaan yang ditangkap"
|
||
|
||
#: website/public/guides/index.html:261
|
||
msgctxt "page:guides/index.html"
|
||
msgid "Export script"
|
||
msgstr "Skrip ekspor"
|
||
|
||
#: website/public/guides/javascript/index.html:357
|
||
msgctxt "page:guides/javascript/index.html"
|
||
msgid "REA result · summary.ipc excerpt"
|
||
msgstr "Hasil REA * ringkasan.kutipan ipc"
|
||
|
||
#: website/public/guides/native/index.html:384
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "REA instruction excerpt · 0x406409"
|
||
msgstr "Kutipan instruksi REA · 0x406409"
|
||
|
||
#: website/public/guides/native/index.html:398
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "REA caller excerpt · 0x411f5b"
|
||
msgstr "Kutipan fungsi pemanggil REA · 0x411f5b"
|
||
|
||
#: website/public/guides/native/index.html:412
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "REA byte results · interpreted as little-endian doubles"
|
||
msgstr "Hasil byte REA * ditafsirkan sebagai ganda little-endian"
|
||
|
||
#: website/public/guides/native/index.html:429
|
||
msgctxt "page:guides/native/index.html"
|
||
msgid "Recovered C · excerpt"
|
||
msgstr "Kutipan C · yang dipulihkan"
|
||
|
||
#: website/public/index.html:232
|
||
msgctxt "page:index.html"
|
||
msgid "See how REA works ↓"
|
||
msgstr "Lihat cara kerja REA ↓"
|
||
|
||
#: website/public/index.html:239
|
||
msgctxt "page:index.html"
|
||
msgid "Showcases →"
|
||
msgstr "Menampilkan →"
|
||
|
||
#: website/public/index.html:749
|
||
msgctxt "page:index.html"
|
||
msgid "Selected settings from the inspected script"
|
||
msgstr "Pengaturan yang dipilih dari skrip yang diinspeksi"
|
||
|
||
#: website/public/index.html:921
|
||
msgctxt "page:index.html"
|
||
msgid "Readable summary of the % handler"
|
||
msgstr "Ringkasan yang dapat dibaca dari % handler"
|
||
|
||
#: website/public/index.html:985
|
||
msgctxt "page:index.html"
|
||
msgid "REA · selected original instructions"
|
||
msgstr "REA * instruksi asli yang dipilih"
|
||
|
||
#: website/public/index.html:996
|
||
msgctxt "page:index.html"
|
||
msgid "Operator IDs · Microsoft’s source"
|
||
msgstr "ID Operator * Sumber Microsoft"
|
||
|
||
#: website/public/index.html:1170
|
||
msgctxt "page:index.html"
|
||
msgid "Follow @reatools on X"
|
||
msgstr "Ikuti @ reatools di X"
|
||
|
||
#: website/public/showcase/aegis/index.html:399
|
||
#: website/public/showcase/aegis/index.html:431
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Agent → REA"
|
||
msgstr "Agent → 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 → agen * metode dan fungsi pemanggil"
|
||
|
||
#: website/public/showcase/aegis/index.html:515
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "REA · selected decompiled Java"
|
||
msgstr "REA * Java yang didekompilasi yang dipilih"
|
||
|
||
#: website/public/showcase/aegis/index.html:545
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Readable summary · agent's interpretation"
|
||
msgstr "Ringkasan yang dapat dibaca * interpretasi agen"
|
||
|
||
#: website/public/showcase/aegis/index.html:600
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "REA · generateOTP, complete body"
|
||
msgstr "REA * generateOTP, isi lengkap"
|
||
|
||
#: website/public/showcase/aegis/index.html:718
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Download Aegis APK"
|
||
msgstr "Unduh Aegis APK"
|
||
|
||
#: website/public/showcase/aegis/index.html:722
|
||
msgctxt "page:showcase/aegis/index.html"
|
||
msgid "Download Android analysis provider"
|
||
msgstr "Unduh penyedia analisis 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 "Agent → 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 → agen * instruksi yang dipilih"
|
||
|
||
#: website/public/showcase/ctf/index.html:413
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Agent → REA · read_bytes"
|
||
msgstr "Agen → REA * read_bytes"
|
||
|
||
#: website/public/showcase/ctf/index.html:420
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "REA → agent · seventh entries"
|
||
msgstr "REA →"
|
||
|
||
#: website/public/showcase/ctf/index.html:688
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Original executable · SHA-256"
|
||
msgstr "Eksekusi asli * SHA-256"
|
||
|
||
#: website/public/showcase/ctf/index.html:724
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Download the original challenge"
|
||
msgstr "Unduh tantangan asli"
|
||
|
||
#: website/public/showcase/ctf/index.html:728
|
||
msgctxt "page:showcase/ctf/index.html"
|
||
msgid "Download solver"
|
||
msgstr "Unduh pemecah"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:329
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "REA result · pseudocode excerpt"
|
||
msgstr "Hasil REA * kutipan pseudocode"
|
||
|
||
#. {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 "Agent → REA · {ph0}"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:358
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "REA → agent · instruction excerpt"
|
||
msgstr "REA excerpt agen · kutipan instruksi"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:382
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "REA → agent · caller excerpt"
|
||
msgstr "REA excerpt agen · kutipan fungsi pemanggil"
|
||
|
||
#. {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 "Agen → REA * dua {ph0} permintaan"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:410
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "REA byte results · decoded as doubles"
|
||
msgstr "Hasil byte REA * diterjemahkan sebagai ganda"
|
||
|
||
#: website/public/showcase/dx-ball/index.html:763
|
||
msgctxt "page:showcase/dx-ball/index.html"
|
||
msgid "Start with your own target"
|
||
msgstr "Mulailah dengan target Anda sendiri"
|
||
|
||
#: 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 "Menghasilkan kode"
|
||
|
||
#: website/public/showcase/index.html:214
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Recovered rule"
|
||
msgstr "Aturan yang dipulihkan"
|
||
|
||
#: website/public/showcase/index.html:215
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Adjustable clock"
|
||
msgstr "Jam yang dapat disesuaikan"
|
||
|
||
#: website/public/showcase/index.html:230
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Binary"
|
||
msgstr "Biner"
|
||
|
||
#: website/public/showcase/index.html:231
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Checking code"
|
||
msgstr "Memeriksa kode"
|
||
|
||
#: website/public/showcase/index.html:232
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Equations"
|
||
msgstr "Persamaan"
|
||
|
||
#: website/public/showcase/index.html:233
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Correct!"
|
||
msgstr "Benar!"
|
||
|
||
#: website/public/showcase/index.html:249
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Executable"
|
||
msgstr "Dapat dieksekusi"
|
||
|
||
#: website/public/showcase/index.html:250
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "REA findings"
|
||
msgstr "Temuan REA"
|
||
|
||
#: website/public/showcase/index.html:251
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Recovered C"
|
||
msgstr "Dipulihkan C"
|
||
|
||
#: website/public/showcase/index.html:252
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Validation"
|
||
msgstr "Validasi"
|
||
|
||
#: website/public/showcase/index.html:267
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Packaged app"
|
||
msgstr "Aplikasi yang dikemas"
|
||
|
||
#: website/public/showcase/index.html:268
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Exposed API"
|
||
msgstr "Exposed API"
|
||
|
||
#: website/public/showcase/index.html:269
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "IPC wrappers"
|
||
msgstr "IPC wrappers"
|
||
|
||
#: website/public/showcase/index.html:270
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Clipboard"
|
||
msgstr "Papan klip"
|
||
|
||
#: website/public/showcase/index.html:285
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Original DOS code"
|
||
msgstr "Kode DOS asli"
|
||
|
||
#: website/public/showcase/index.html:286
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "REA instructions"
|
||
msgstr "Instruksi REA"
|
||
|
||
#: website/public/showcase/index.html:287
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Angle calculation"
|
||
msgstr "Perhitungan sudut"
|
||
|
||
#: website/public/showcase/index.html:288
|
||
msgctxt "page:showcase/index.html"
|
||
msgid "Bullet ring"
|
||
msgstr "Cincin peluru"
|
||
|
||
#: website/public/showcase/notion/index.html:304
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Exposed page API"
|
||
msgstr "Exposed page API"
|
||
|
||
#: website/public/showcase/notion/index.html:310
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Renderer IPC call"
|
||
msgstr "Panggilan IPC perender"
|
||
|
||
#: website/public/showcase/notion/index.html:472
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Sent to the system clipboard"
|
||
msgstr "Dikirim ke papan klip sistem"
|
||
|
||
#: website/public/showcase/notion/index.html:480
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Saved locally by Notion"
|
||
msgstr "Disimpan secara lokal oleh Notion"
|
||
|
||
#: website/public/showcase/notion/index.html:525
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Markdown input"
|
||
msgstr "Masukan penurunan harga"
|
||
|
||
#: website/public/showcase/notion/index.html:532
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Structured parser output · excerpt"
|
||
msgstr "Keluaran parser terstruktur · kutipan"
|
||
|
||
#: website/public/showcase/notion/index.html:609
|
||
msgctxt "page:showcase/notion/index.html"
|
||
msgid "Analyze your own app"
|
||
msgstr "Analisis aplikasi Anda sendiri"
|
||
|
||
#: website/public/showcase/th04/index.html:369
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Agent → REA"
|
||
msgstr "Agent → REA"
|
||
|
||
#: website/public/showcase/th04/index.html:378
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "REA → agent · selected fields"
|
||
msgstr "REA →"
|
||
|
||
#. {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 "Agent → REA · {ph0}"
|
||
|
||
#: website/public/showcase/th04/index.html:403
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "REA → agent · instruction excerpt"
|
||
msgstr "REA excerpt agen · kutipan instruksi"
|
||
|
||
#: website/public/showcase/th04/index.html:424
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Same function result · aim excerpt"
|
||
msgstr "Hasil fungsi yang sama * kutipan tujuan"
|
||
|
||
#: website/public/showcase/th04/index.html:433
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Corresponding maintained C++"
|
||
msgstr "C++yang dipertahankan sesuai"
|
||
|
||
#: website/public/showcase/th04/index.html:613
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Ring macro · TH04 branch, excerpt"
|
||
msgstr "Makro cincin * cabang TH04, kutipan"
|
||
|
||
#: website/public/showcase/th04/index.html:623
|
||
msgctxt "page:showcase/th04/index.html"
|
||
msgid "Angle and velocity · source excerpt"
|
||
msgstr "Sudut dan kecepatan * kutipan sumber"
|
||
|
||
#: website/public/assets/home.js:29
|
||
msgctxt "runtime"
|
||
msgid "Press % to see what happens to 10."
|
||
msgstr "Tekan % untuk melihat apa yang terjadi pada 10."
|
||
|
||
#: website/public/assets/home.js:32
|
||
msgctxt "runtime"
|
||
msgid "10% of 200 is 20. Press = to add it."
|
||
msgstr "10% dari 200 adalah 20. Tekan = untuk menambahkannya."
|
||
|
||
#: website/public/assets/home.js:33
|
||
msgctxt "runtime"
|
||
msgid "For multiplication, 10 becomes 0.1. Press = to multiply."
|
||
msgstr "Untuk perkalian, 10 menjadi 0,1. Tekan = untuk mengalikan."
|
||
|
||
#: scripts/website_i18n.py
|
||
msgctxt "runtime"
|
||
msgid "Translation is being updated. Read this page in English for now."
|
||
msgstr ""
|
||
"Terjemahan sedang diperbarui. Baca halaman ini dalam bahasa Inggris untuk "
|
||
"saat ini."
|
||
|
||
#. {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}Gunakan REA untuk menganalisis {ph3} dan jelaskan bagaimana "
|
||
"ia mengekspor data. Tampilkan kode dan lokasi sumber yang "
|
||
"relevan.{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}Pasang REA dan hubungkan ke agen pemrograman ini menggunakan"
|
||
" {ph3}. Tampilkan rencana perubahan dan tunggu persetujuan saya sebelum "
|
||
"menjalankannya. Setelah itu, verifikasi pemasangan.{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}Unduh {ph3} ke dalam folder contoh baru dan buka kemasannya."
|
||
" Gunakan REA untuk menemukan apa yang terjadi ketika saya mengklik Ekspor "
|
||
"catatan. Tunjukkan dimana {ph4} ditulis, bidang mana yang dikandungnya, dan "
|
||
"file serta baris yang relevan.{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}Pasang REA dan hubungkan ke agen pemrograman ini menggunakan"
|
||
" {ph3}. Tampilkan rencana perubahan dan tunggu persetujuan saya sebelum "
|
||
"menjalankannya. Setelah itu, verifikasi pemasangan.{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}Pasang REA dan hubungkan ke agen pemrograman ini menggunakan"
|
||
" {ph3}. Tampilkan rencana perubahan dan tunggu persetujuan saya sebelum "
|
||
"menjalankannya. Setelah itu, verifikasi pemasangan.{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}Gunakan REA untuk memeriksa {ph3}. Mengkloning situs web ini"
|
||
" untuk saya.{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 "Rekonstruksi · {ph0}"
|
||
|
||
#. {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 ""
|
||
"Dengan tersedianya {ph0} dan npm, jalankan penyiapan, pilih agen pengkodean "
|
||
"Anda, dan tinjau perubahan yang diusulkan."
|
||
|
||
#. {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 "Contoh yang disediakan · {ph0} dan npm · Agen pengkodean Anda"
|
||
|
||
#. {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 ""
|
||
"Gunakan agen pengkodean seperti Claude Code, Codex atau Cursor. Anda akan "
|
||
"membutuhkan {ph0} dan npm; {ph1}panduan penyiapan mencantumkan versi yang "
|
||
"didukung{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}Halaman · {ph1}{ph2}{ph3}Ekspor catatan{ph4}{ph5}Panggilan {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}Jembatan * {ph1}{ph2}{ph3}{ph4}{ph5}{ph6}Mengirim pesan bernama ke "
|
||
"proses utama.{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}Handler · {ph1}{ph2}{ph3}Tulis {ph4}{ph5}{ph6}Memanggil pemformat dalam"
|
||
" {ph7} dan menulis file tersebut.{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} * baris 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}Prediksi CSV untuk not dengan id 1 dan judul {ph3}. Kemudian"
|
||
" jalankan contohnya {ph4} formatter dengan {ph5} untuk memeriksanya. "
|
||
"Tampilkan prediksi dan keluaran aktual.{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 ""
|
||
"Judul tetap dalam satu bidang yang dikutip; setiap tanda kutip digandakan. "
|
||
"Ini memeriksa pemformat secara langsung dengan {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 formatter"
|
||
|
||
#. {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 ""
|
||
"Anda akan membutuhkan {ph0} 22 (22.19+), 24 (24.11+) atau 26+. npm hadir "
|
||
"dengan {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 "Tidak memiliki {ph0}, atau tidak yakin?"
|
||
|
||
#. {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 ""
|
||
"Jika {ph0} mencetak v22. 19+, v24. 11+ atau v26+, Anda sudah siap. Jika "
|
||
"mencetak versi yang lebih lama atau\" tidak dikenali \" / \"perintah tidak "
|
||
"ditemukan\", instal {ph1} 24 PT:"
|
||
|
||
#. {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} · contoh kutipan sumber"
|
||
|
||
#. {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}Buka contohnya{ph1} · {ph2}Unduh {ph3}{ph4} · {ph5}Unduh {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} * contoh sumber"
|
||
|
||
#. {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 ""
|
||
"Unduh contohnya dan unzip. Arsip berisi yang lengkap {ph0} map. Analisislah "
|
||
"dengan {ph1} dan npm; Electron tidak diperlukan untuk contoh ini."
|
||
|
||
#. {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 ""
|
||
"Pertama kali, atau hilang {ph0} atau agen pengkodean? {ph1}Ikuti panduan "
|
||
"penyiapan langkah demi langkah →{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 "Contohnya: {ph0}mengapa Kalkulator menghasilkan 220 untuk {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}Gunakan REA untuk memeriksa Windows Kalkulator. Mengapa "
|
||
"{ph3} menghasilkan 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 * dimuat {ph0} * baris yang dipilih"
|
||
|
||
#. {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 ""
|
||
"Kami melihat alasannya {ph0}{ph1} memberi 220.{ph2} Sekarang mari kita "
|
||
"pulihkan aturan untuk + dan × "
|
||
|
||
#. {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 membaca {ph1}{ph2}{ph3}Ini meluncurkan aplikasi "
|
||
"Kalkulator{ph4}{ph5}Kode terbuka {ph6}. Agen kemudian memilih pustaka "
|
||
"aplikasi yang diinstal.{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}Analisis {ph3} dengan REA. Jelaskan cara kode login enam "
|
||
"digit dibuat dan mengapa berubah setiap 30 detik. Buat demo kecil yang "
|
||
"memungkinkan saya mengubah waktu.{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 "tab_browser_view/{ph0} * Anggota API"
|
||
|
||
#. {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 "tab_browser_view/{ph0} * Pembantu IPC"
|
||
|
||
#. {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 "utama/{ph0} * pembantu penangan"
|
||
|
||
#. {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 "utama/{ph0} * penerima papan klip"
|
||
|
||
# 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 "Mulai {ph0}"
|
||
|
||
#: website/public/assets/theme.js:52
|
||
msgctxt "runtime"
|
||
msgid "Switch to light mode"
|
||
msgstr "Beralih ke mode terang"
|
||
|
||
#: website/public/assets/theme.js:53
|
||
msgctxt "runtime"
|
||
msgid "Switch to dark mode"
|
||
msgstr "Beralih ke mode gelap"
|
||
|
||
#. {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 ""
|
||
"Untuk memeriksa isi permintaan dan respons HTTP, gunakan {ph0}Fiddler "
|
||
"Everywhere: rekaman SAZ, MCP, dan skill publik{ph1}. Ekspor SAZ atau HAR 1.2"
|
||
" untuk menghasilkan Evidence rekaman di REA secara luring, atau hubungkan "
|
||
"server MCP Everywhere untuk memeriksa lalu lintas yang direkam bersama agen "
|
||
"Anda."
|
||
|
||
#. {ph0}: <br />
|
||
#: website/public/blog/index.html:200
|
||
#, python-brace-format
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Model specialization{ph0}Essay"
|
||
msgstr "Model khusus{ph0}Esai"
|
||
|
||
#: website/public/blog/index.html:202
|
||
msgctxt "page:blog/index.html"
|
||
msgid "Does reverse engineering need a bigger model?"
|
||
msgstr "Apakah rekayasa balik membutuhkan model yang lebih besar?"
|
||
|
||
#: 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 ""
|
||
"Pelajaran dari rekonstruksi Touhou tentang model umum, model khusus, dan "
|
||
"pembelajaran dari umpan balik kompiler."
|
||
|
||
#: website/public/blog/index.html:210
|
||
msgctxt "page:blog/index.html"
|
||
msgid "By N0zoM1z0 · 13 October 2026"
|
||
msgstr "Oleh N0zoM1z0 · 13 Oktober 2026"
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:103
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "Skip to content"
|
||
msgstr "Lewati ke konten"
|
||
|
||
#. {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}Beranda{ph1} / {ph2}Blog{ph3} / Model dan rekayasa balik"
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:197
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "Essay"
|
||
msgstr "Esai"
|
||
|
||
# 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 "Apakah rekayasa balik memerlukan model yang lebih besar?"
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:199
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "By N0zoM1z0 · 13 October 2026"
|
||
msgstr "Oleh N0zoM1z0 · 13 Oktober 2026"
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:201
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "Takeaway"
|
||
msgstr "Poin utama"
|
||
|
||
#. {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}Kemampuan model memengaruhi hipotesis mana yang dapat diajukan oleh "
|
||
"agen AI.{ph1} Sesi berikutnya memecahkan masalah yang belum terselesaikan "
|
||
"oleh pekerjaan sebelumnya."
|
||
|
||
#. {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}Kompiler yang familiar menawarkan pola konkret untuk dipelajari model "
|
||
"khusus.{ph1} Beberapa kecocokan kode mesin yang tepat bergantung pada pola "
|
||
"kode sumber spesifik yang dapat digunakan kembali."
|
||
|
||
#. {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}Sertakan pengetahuan repositori dalam perbandingan yang adil.{ph1} "
|
||
"Model yang lebih kecil dengan pengambilan pengetahuan yang baik mungkin "
|
||
"sudah memiliki informasi yang cukup untuk membuat kemajuan."
|
||
|
||
#. {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}Latih model untuk memilih eksperimen berguna berikutnya, dan uji "
|
||
"pemeriksanya.{ph1} Masukan hanya berguna jika pemeriksa memverifikasi hal "
|
||
"yang benar."
|
||
|
||
#. {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}Evaluasi hasil rekonstruksi terverifikasi beserta waktu dan biaya.{ph1}"
|
||
" Itulah yang ingin saya ukur untuk alur kerja agen AI yang lengkap."
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:241
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "In this article"
|
||
msgstr "Dalam artikel ini"
|
||
|
||
#. {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}Apa yang berubah dengan model yang lebih kuat?{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}Mengapa mengambil spesialisasi?{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}Di mana pengalaman ini harus disimpan?{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}Pelajari eksperimen bermanfaat berikutnya{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}Pembelajaran rekayasa balik dan penguatan{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}Ketika pemeriksa salah{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}Sebuah perbandingan yang layak untuk dijalankan{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}Agen AI macam apa yang disarankan di sini?{ph1}"
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:258
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "What better models changed"
|
||
msgstr "Apa yang berubah dengan model yang lebih kuat?"
|
||
|
||
#: 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 ""
|
||
"Sejak Agustus 2026, saya telah mengeksplorasi seberapa banyak rekayasa balik"
|
||
" yang dapat dilakukan agen dengan akses ke suatu program dan cara untuk "
|
||
"memeriksa kerjanya. Sebagian besar pengalaman saya berasal dari "
|
||
"merekonstruksi game, terutama Touhou. Karena saya telah mengubah model, "
|
||
"repositori menyimpan catatan tentang apa yang berhasil dipulihkan oleh "
|
||
"setiap sesi."
|
||
|
||
#: 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 ""
|
||
"Sebagian besar pekerjaan tersebut bertujuan untuk rekonstruksi yang tepat: "
|
||
"kami mengkompilasi sumber yang dikelola di bawah rantai alat historis dengan"
|
||
" versi tetap dan memeriksa apakah sumber tersebut mereproduksi fungsi "
|
||
"target. Ketika model selanjutnya berhasil ketika pekerjaan sebelumnya "
|
||
"terhenti, perubahan sumber menunjukkan apa yang memungkinkan kemajuan "
|
||
"tersebut."
|
||
|
||
#: 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 "Variabel sementara membutuhkan masa hidup yang tumpang tindih"
|
||
|
||
#: 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 ""
|
||
"Sebagian besar logika fungsi serangan TH09 telah direkonstruksi, namun "
|
||
"kompiler masih menyimpan hasil sementara yang berbeda dari aslinya. Masalah "
|
||
"yang tersisa adalah berapa lama hasil tersebut perlu bertahan dan kapan "
|
||
"penyimpanannya dapat digunakan kembali."
|
||
|
||
#. {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 ""
|
||
"Catatan sesi {ph0}GPT-6-Sol{ph1} melaporkan ketidakcocokan ini setelah "
|
||
"menguji beberapa pengaturan kode sumber biasa. Ketika {ph2}GPT-6.1-Sol "
|
||
"memeriksa masalahnya lagi{ph3}, ia mengajukan hipotesis yang berguna tentang"
|
||
" masa hidup variabel-variabel sementara ini."
|
||
|
||
#: 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 ""
|
||
"Fungsi tersebut memberikan hasil sementara dan menyalinnya ke posisi "
|
||
"animasi. Di C++, hasil sementara tetap aktif hingga ekspresi yang "
|
||
"menggunakannya selesai. Mengelompokkan operasi nyata ke dalam satu ekspresi "
|
||
"membuat hasil tersebut tetap hidup, sehingga kompiler tidak dapat lagi "
|
||
"menggunakan penyimpanan yang sama untuk semuanya."
|
||
|
||
#. {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 ""
|
||
"Salah satu hasil masih berbagi penyimpanan dengan nilai yang nantinya "
|
||
"digunakan untuk pemeriksaan tabrakan. Memberikan nilai tersebut seumur "
|
||
"hidupnya akan menyelesaikan sisa tumpang tindih. Setelah beberapa eksperimen"
|
||
" yang ditargetkan, {ph0}kompilasi ulang yang bersih dari sumber "
|
||
"mengonfirmasi bahwa seluruh fungsi cocok{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 ""
|
||
"Saya tertarik pada bagaimana penemuan dan pengujian saling mendukung. "
|
||
"Hipotesis tentang masa hidup objek yang bersifat sementara memberikan arah "
|
||
"baru bagi agen AI. Umpan balik dari kompiler membantunya menyempurnakan "
|
||
"hipotesis tersebut menjadi susunan kode sumber yang cocok."
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:318
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "A different control-flow graph"
|
||
msgstr "Grafik aliran kontrol yang berbeda"
|
||
|
||
#. {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 ""
|
||
"Fungsi TH09 kedua menunjukkan mengapa arah baru itu penting. Di sini "
|
||
"kendalanya adalah bagaimana beberapa cabang membagikan karya akhirnya. "
|
||
"{ph0}Pekerjaan sebelumnya GPT-6.1-Sol{ph1} memiliki bagian-bagian fungsi "
|
||
"yang cocok, namun cabang-cabangnya masih digabungkan secara berbeda dari "
|
||
"aslinya."
|
||
|
||
#. {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 mengubah grafik aliran kontrol di sekitarnya{ph1}. Jalur "
|
||
"utama sekarang mengarah ke pembaruan akhir bersama dan kembalinya. Dalam "
|
||
"struktur sumber tersebut, kompiler menggabungkan cabang-cabang dengan cara "
|
||
"yang sama seperti aslinya. Fungsi keseluruhannya cocok, dan {ph2}pemeriksaan"
|
||
" pembangunan kembali secara terpisah mengonfirmasi hal tersebut{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}Mengubah representasi membuka ruang pencarian yang lebih "
|
||
"produktif.{ph1} Kedua kasus tersebut memberi saya alasan untuk menganggap "
|
||
"serius kemampuan model umum: agen dapat terus mencoba variasi lokal untuk "
|
||
"waktu yang lama sebelum menemukan cara yang lebih baik untuk mengekspresikan"
|
||
" pekerjaan di sekitarnya."
|
||
|
||
#: 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 ""
|
||
"Pada saat yang sama, sesi selanjutnya dimulai dengan sumber sebelumnya dan "
|
||
"mencatat kegagalan. Akumulasi pekerjaan itu adalah bagian dari keuntungan "
|
||
"mereka. Sejarah memungkinkan kita memeriksa penemuan-penemuan dan "
|
||
"pemeriksaannya; perbandingan terkontrol akan membantu memisahkan pengaruh "
|
||
"model dari pengalaman yang diwarisinya."
|
||
|
||
#: 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 ""
|
||
"Inilah yang membuat pertanyaan ini menarik bagi saya. Beberapa kemajuan "
|
||
"datang dari penemuan representasi baru. Sebagian besar pekerjaan yang "
|
||
"tersisa melibatkan pengujian pengaturan kode sumber yang berbeda terhadap "
|
||
"kompiler yang sudah dikenal. Seberapa banyak hal ini memerlukan kemampuan "
|
||
"penalaran yang luas? Berapa banyak yang dapat dipelajari suatu model dengan "
|
||
"bekerja berulang kali menggunakan compiler dan kode tersebut?"
|
||
|
||
#: 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 "Mengapa model AI khusus dapat berfungsi dengan baik?"
|
||
|
||
#: 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 memberi kita alasan konkret untuk mengharapkan pengalaman itu "
|
||
"membantu. Sebagian besar kode permainan berasal dari penulis yang sama, ZUN,"
|
||
" jadi kebiasaan berulang adalah asumsi awal yang masuk akal. Repositori "
|
||
"mendukung hal tersebut dengan contoh-contoh yang berguna: loop terkait dan "
|
||
"pengaturan pembantu telah memberikan hipotesis di seluruh game."
|
||
|
||
#: 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 ""
|
||
"Pola sumber tersebut menjadi lebih spesifik ketika kita menyertakan "
|
||
"kompiler. Dalam versi dan rangkaian opsi tertentu, perubahan kecil pada "
|
||
"sumber dapat menghasilkan perbedaan berulang dalam kode mesin. Beberapa dari"
|
||
" perbedaan tersebut ternyata tidak jelas."
|
||
|
||
#. {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 ""
|
||
"Di TH095, misalnya, {ph0}bahkan nama variabel lokal dapat memengaruhi tempat"
|
||
" VC7.1 menyimpannya{ph1}. Memindahkan deklarasinya tidak menyelesaikan tata "
|
||
"letak penyimpanan. Namun, fungsi latar belakang sebelumnya telah "
|
||
"mengungkapkan pola penamaan yang mempengaruhi pilihan kompiler. Hal ini "
|
||
"menunjukkan hipotesis yang lebih menjanjikan untuk {ph2}merekonstruksi "
|
||
"{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 ""
|
||
"Menggunakan kembali pola tersebut untuk variabel ukuran file menghasilkan "
|
||
"tata letak yang diperlukan tanpa menambahkan penyimpanan. Fungsi penuh "
|
||
"kemudian dicocokkan."
|
||
|
||
#: 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 ""
|
||
"Ini adalah detail yang sangat spesifik yang mungkin tidak diketahui oleh "
|
||
"model AI tujuan umum saat pertama kali mengalami masalah. Model yang "
|
||
"dikhususkan untuk kompiler ini dapat melihat banyak kasus seperti itu dan "
|
||
"mempelajari variasi kode sumber mana yang layak untuk diuji terlebih dahulu."
|
||
|
||
#: 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 ""
|
||
"Peluangnya sangat jelas dalam masalah pencocokan akhir dimana kita sudah "
|
||
"memahami perilakunya. Kami kemudian menanyakan pengaturan kode sumber biasa "
|
||
"mana yang diubah oleh kompiler ini menjadi instruksi yang diamati. "
|
||
"Spesialisasi dapat membantu model mengusulkan bentuk-bentuk tersebut dengan "
|
||
"lebih efisien, sementara target tetap menentukan hipotesis mana yang "
|
||
"bertahan."
|
||
|
||
#. {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 ""
|
||
"Pola yang berguna harus mempertahankan konteksnya. TH08 menggunakan versi "
|
||
"Visual C++ yang lebih lama dari TH095 dan TH09. TH04 menggunakan compiler "
|
||
"yang berbeda dari era DOS. {ph0}rekonstruksi kode pemain{ph1} memerlukan "
|
||
"hipotesis berbeda tentang pola kode sumber dan bagaimana kode yang "
|
||
"dikompilasi dihubungkan ke dalam file yang dapat dieksekusi. Memiliki "
|
||
"penulis yang sama memberi kita ekspektasi awal, namun setiap target memberi "
|
||
"tahu kita apakah target tersebut berlaku. Model khusus perlu membedakan "
|
||
"konteks-konteks ini."
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:431
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "Where should that experience live?"
|
||
msgstr "Di mana pengalaman ini harus disimpan?"
|
||
|
||
#. {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 ""
|
||
"Sebelum memutuskan untuk mengajarkan pola-pola tersebut melalui pelatihan "
|
||
"model, saya akan melihat pengetahuan yang sudah kita simpan di gudang. Dalam"
|
||
" {ph0}esai sebelumnya{ph1}, saya menulis tentang hal ini yang menjadi memori"
|
||
" kerja proyek. Memori tersebut mencakup pelajaran kompiler, beserta "
|
||
"sumbernya dan eksperimen gagal yang menjadikannya berguna."
|
||
|
||
#: 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 ""
|
||
"Dengan mengambil catatan tersebut, agen dapat memulai dengan hasil yang "
|
||
"diketahui dan memeriksa bagaimana kami mencapainya. Hal ini juga dapat "
|
||
"menghindari alternatif-alternatif yang telah gagal dalam konteks yang sama. "
|
||
"Titik awal ditingkatkan tanpa mengubah parameter model yang dilatih."
|
||
|
||
#. {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 ""
|
||
"Saat merekonstruksi fungsi TH09 untuk menciptakan musuh, {ph0}sesi "
|
||
"GPT-6-Luna-max{ph1} mengambil hipotesis dari kode sumber TH08 terkait. Kode "
|
||
"sebelumnya menyarankan cara mengatur loop dan menangani kegagalan di "
|
||
"dalamnya. Bukti TH09 sendiri memberikan detail khusus game tersebut. "
|
||
"Pembangunan kembali dari sumber mengonfirmasi bahwa fungsi lengkapnya cocok."
|
||
|
||
#. {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}\"Model tidak mengetahui kekhasan kompiler\" dan \"model tidak dapat "
|
||
"menggunakannya\" adalah masalah yang berbeda.{ph1} Pengambilan mungkin "
|
||
"memecahkan masalah pertama, namun mengubah fakta tersebut menjadi kandidat "
|
||
"yang berguna masih membutuhkan usaha. Dan jika kandidat kode sumber gagal, "
|
||
"model harus memutuskan apa arti hasil tersebut untuk percobaan berikutnya. "
|
||
"Mengetahui pola yang relevan hanyalah awal dari proses itu."
|
||
|
||
#: 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 ""
|
||
"Oleh karena itu, saya akan menyertakan model AI serba guna yang lebih kecil "
|
||
"dengan pengambilan yang baik dalam perbandingan apa pun. Memberikan "
|
||
"perpustakaan pengalaman yang sama akan membantu kami mengidentifikasi apa "
|
||
"saja yang ditambahkan oleh pelatihan: perolehan kandidat yang lebih baik, "
|
||
"keputusan yang lebih baik setelah adanya masukan, atau keduanya."
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:476
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "Learning the next useful experiment"
|
||
msgstr "Pelajari eksperimen bermanfaat berikutnya"
|
||
|
||
#: 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 ""
|
||
"Keputusan-keputusan setelah mendapat masukan adalah hal yang paling ingin "
|
||
"saya pelajari. Dalam rekonstruksi agenik, model mengajukan penjelasan dan "
|
||
"mengujinya terhadap program. Bahkan ketika kode sumber kandidat gagal, "
|
||
"hasilnya dapat mempersempit kemungkinan yang tersisa dan menyarankan "
|
||
"percobaan berikutnya yang lebih berguna."
|
||
|
||
#: 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 ""
|
||
"Perhatikan kembali contoh hasil sementara. Sumber akhirnya menunjukkan "
|
||
"pengaturan yang berhasil, namun rute ke sumber tersebut berisi lebih banyak "
|
||
"informasi. Setiap eksperimen berikut membantu mengidentifikasi apa yang "
|
||
"masih perlu diubah."
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:497
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "Experiment"
|
||
msgstr "Eksperimen"
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:498
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "What its result taught us"
|
||
msgstr "Apa yang diajarkan hasilnya kepada kita"
|
||
|
||
#: 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 "Coba cara lain untuk menyalin hasilnya"
|
||
|
||
#: 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 "Kode copynya berubah, tapi fungsinya tetap berbeda."
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:509
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "Use the returned values directly"
|
||
msgstr "Gunakan nilai yang dikembalikan secara langsung"
|
||
|
||
#: 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 ""
|
||
"Penyalinan mengikuti pola aslinya, namun penyimpanan sementara tetap "
|
||
"berbeda."
|
||
|
||
#: 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 "Jaga agar semua variabel sementara tetap valid pada waktu yang sama"
|
||
|
||
#: 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 ""
|
||
"Mereka mendapatkan penyimpanan terpisah, namun masih tumpang tindih dengan "
|
||
"nilai yang digunakan nanti untuk pemeriksaan tabrakan."
|
||
|
||
#: 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 "Pisahkan nilai pemeriksaan tabrakan"
|
||
|
||
#: 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 ""
|
||
"Kompilasi ulang yang bersih dari sumber mengonfirmasi kecocokan yang "
|
||
"lengkap."
|
||
|
||
#: 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 ""
|
||
"Eksperimen yang dipilih dari rekonstruksi fungsi serangan di atas, "
|
||
"dikelompokkan berdasarkan apa yang diajarkannya kepada kita."
|
||
|
||
#: 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 ""
|
||
"Catatan pelatihan yang menjaga urutan ini dapat mengajarkan lebih dari "
|
||
"sekedar sumber akhir saja. Ini menghubungkan setiap perubahan yang diusulkan"
|
||
" dengan hasil yang diamati dan keputusan berikutnya. Mempertahankan variasi "
|
||
"yang tidak efektif juga penting: variasi tersebut akan memberi tahu agen "
|
||
"selanjutnya hipotesis mana yang telah diuji dalam konteks tersebut."
|
||
|
||
#. {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}Saya ingin model mempelajari cara menggunakan masukan.{ph1} Hasil yang "
|
||
"netral adalah alasan untuk mempertimbangkan kembali variasi; ketidakcocokan "
|
||
"yang berubah mungkin menunjukkan penyebab lain. Ketika suntingan lokal tidak"
|
||
" lagi bersifat informatif, agen harus dapat mengunjungi kembali representasi"
|
||
" sumber atau memeriksa bukti lagi."
|
||
|
||
#: 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 ""
|
||
"Belajar membuat pilihan tersebut membutuhkan otonomi. Terkadang langkah "
|
||
"berikutnya yang berguna adalah memeriksa pemanggil lain daripada "
|
||
"mengkompilasi hasil edit lainnya. Urutan penulisan ulang yang diperlukan "
|
||
"akan menghilangkan pilihan tersebut, bersama dengan bagian dari perilaku "
|
||
"yang kita ingin model pelajari."
|
||
|
||
#: 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 "Mengapa rekayasa balik menarik untuk pembelajaran penguatan"
|
||
|
||
#: 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 ""
|
||
"Rekonstruksi dengan lingkup yang jelas memberi lingkungan praktis untuk "
|
||
"mempelajari pilihan ini. Setelah versi target dan kompiler ditetapkan, "
|
||
"banyak eksperimen kode sumber memberi umpan balik yang cepat dan dapat "
|
||
"diulang. Agen bisa mengompilasi kandidat, memeriksa perbedaan, lalu memilih "
|
||
"langkah berikutnya."
|
||
|
||
#: 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 ""
|
||
"Pembelajaran penguatan dapat melatih proses pengambilan keputusan melalui "
|
||
"umpan balik yang diterimanya. Kandidat yang diterima melalui pemeriksaan "
|
||
"tertentu memberi kita hasil yang konkrit, sementara rangkaian upaya "
|
||
"memungkinkan kita mengamati berapa banyak usaha yang diperlukan untuk "
|
||
"mencapainya."
|
||
|
||
#. {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 ""
|
||
"Sudah ada penelitian yang mendukung arah ini. {ph0}LLM4Decompile{ph1} "
|
||
"mempelajari model yang dikhususkan untuk dekompilasi. "
|
||
"{ph2}AutoDecompiler{ph3} melatih penyempurnaan multi-putaran menggunakan "
|
||
"compiler dan masukan eksekusi. Studi mereka fokus pada pemulihan fungsional."
|
||
" Untuk pekerjaan ini, saya akan menggunakannya sebagai titik awal untuk "
|
||
"tugas terkait menemukan sumber yang cocok dengan keluaran kompiler historis."
|
||
|
||
#. {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 ""
|
||
"Namun, untuk mencapai tugas yang terdefinisi dengan baik, pertama-tama kita "
|
||
"perlu menetapkan sumber daya yang dimiliki suatu fungsi atau merancang cara "
|
||
"baru untuk mengamati perilaku program saat berjalan. Di TH08, misalnya, "
|
||
"{ph0}perbedaan tabrakan mengarah kembali ke cara program asli menangani "
|
||
"penghitungan floating-point{ph1}. Sebelum agen dapat menguji koreksi yang "
|
||
"berguna, agen harus menentukan apa yang diukur."
|
||
|
||
#: 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 ""
|
||
"Hal ini menunjukkan adanya peran lain dari model yang berkemampuan luas: "
|
||
"membantu membuat masalah dapat diperiksa. Setelah pemeriksaan tersebut "
|
||
"dilakukan, kami dapat menyelidiki sejauh mana kebijakan penelusuran yang "
|
||
"dipelajari dapat diterapkan."
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:603
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "When the oracle is wrong"
|
||
msgstr "Ketika pemeriksa salah"
|
||
|
||
#: 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 ""
|
||
"Saat suatu pemeriksaan dipakai untuk pelatihan, cakupannya menjadi bagian "
|
||
"dari lingkungan belajar. Saya menyebut acuan atau alat pemeriksa itu oracle."
|
||
" Bahkan jawaban yang dapat diulang harus dipahami berdasarkan apa yang "
|
||
"benar-benar diperiksanya."
|
||
|
||
#: 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 menunjukkan seberapa banyak yang bisa disembunyikan di luar cakupan "
|
||
"itu. Beberapa fungsi yang direkonstruksi memberikan perbandingan yang tepat "
|
||
"dengan konstanta floating-point yang salah. Pembanding menyesuaikan alamat "
|
||
"yang direlokasi sebelum memeriksa instruksi, namun pembanding memeriksa "
|
||
"nilai di balik alamat tersebut hanya jika nilai tersebut telah dicatat "
|
||
"secara eksplisit untuk verifikasi. Referensi literal lainnya bisa lolos "
|
||
"tanpa diperiksa nilainya."
|
||
|
||
#. {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 ""
|
||
"Untuk mengatasi kesenjangan ini, {ph0}audit yang lebih luas{ph1} menemukan "
|
||
"konstanta yang salah pada fungsi yang telah lolos verifikasi. Dalam satu "
|
||
"perhitungan, kode sumber yang direkonstruksi menambahkan {ph2}, sedangkan "
|
||
"kode sumber asli menambahkan {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}Model yang diberi imbalan melalui pemeriksaan verifikasi lama dapat "
|
||
"belajar menghasilkan rekonstruksi yang salah.{ph1} Kami tidak melatih model "
|
||
"RL menggunakan pemeriksa tersebut. Kegagalan yang kami amati ada pada "
|
||
"pemeriksaan itu sendiri. Namun jika kita menggunakannya sebagai hadiah, "
|
||
"titik buta yang sama akan menjadi bagian dari lingkungan belajar."
|
||
|
||
#. {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 ""
|
||
"Tes fungsional dapat memiliki titik buta serupa. {ph0}Penelitian yang "
|
||
"menggunakan fuzzing diferensial pada dekompiler LLM{ph1} menemukan perbedaan"
|
||
" perilaku di luar pengujian yang disediakan. Oleh karena itu, kita perlu "
|
||
"memahami tes kelulusan dalam kaitannya dengan kasus-kasus yang dilakukannya."
|
||
" Demikian pula, kecocokan instruksi harus dipahami dalam kaitannya dengan "
|
||
"byte dan data yang diverifikasi."
|
||
|
||
#: 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 ""
|
||
"Sebelum menggunakan salah satu jenis cek verifikasi sebagai hadiah, saya "
|
||
"akan mengujinya dengan hasil yang sengaja salah. Saya juga akan memisahkan "
|
||
"penerimaan akhir dari kode sumber yang dapat diedit oleh agen AI. Model "
|
||
"harus lolos verifikasi dengan merekonstruksi program dengan benar. Jika "
|
||
"tidak, hanya dengan menyalin array byte dari target dapat menipu sistem "
|
||
"penilaian yang naif tanpa memulihkan kode sumber yang berguna."
|
||
|
||
#. {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}Memperbaiki model yang belajar dan memperbaiki pemeriksanya merupakan "
|
||
"bagian dari masalah penelitian yang sama.{ph1} Semakin baik model "
|
||
"mengoptimalkan umpan balik yang kita berikan, semakin penting memahami umpan"
|
||
" balik itu sendiri."
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:667
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "A comparison worth running"
|
||
msgstr "Sebuah perbandingan yang layak untuk dijalankan"
|
||
|
||
#: 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 ""
|
||
"Dengan pemeriksaan tersebut, saya akan memulai perbandingan pada rangkaian "
|
||
"tugas VC7.1 yang tetap. Pertama, saya akan menetapkan dasar untuk model AI "
|
||
"tujuan umum yang kuat dan model yang lebih kecil. Menambahkan pengetahuan "
|
||
"repositori ke model yang lebih kecil akan menunjukkan perubahan pengambilan "
|
||
"apa. Dari sana, spesialisasi yang diawasi dan versi terlatih RL akan "
|
||
"memungkinkan kita memeriksa apa saja yang ditambahkan dalam pelatihan."
|
||
|
||
#: 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 ""
|
||
"Agar perbandingan tersebut informatif, setiap model akan menerima bukti dan "
|
||
"alat target yang sama. Untuk perbandingan khusus pelatihan, saya juga akan "
|
||
"mempertahankan model dasar dan pengetahuan yang tersedia. Uji coba berulang "
|
||
"akan membantu membedakan strategi pencarian yang andal dari kandidat solusi "
|
||
"yang berhasil secara kebetulan."
|
||
|
||
#: 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 ""
|
||
"Saya kemudian akan memisahkan dua kondisi awal: merekonstruksi suatu fungsi "
|
||
"dari instruksinya, dan menutup beberapa perbedaan terakhir dalam sumber yang"
|
||
" dipertahankan. Model AI khusus mungkin sangat baik dalam tugas kedua, "
|
||
"sementara model AI tujuan umum melakukan banyak pekerjaan yang diperlukan "
|
||
"untuk mencapainya. Mengukurnya secara terpisah akan mengungkapkan pembagian "
|
||
"kerja tersebut."
|
||
|
||
#: 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 ""
|
||
"Kedua tugas memerlukan contoh uji yang tidak ada dalam data pelatihan maupun"
|
||
" bahan retrieval. Game Touhou yang terkait berbagi kode engine. "
|
||
"Mengecualikan satu game saja masih bisa menyisakan fungsi yang hampir "
|
||
"identik dalam data pelatihan. Saya akan menyisihkan seluruh kelompok kode "
|
||
"yang terkait, dan memastikan jawaban terverifikasinya tidak masuk ke data "
|
||
"pelatihan ataupun pustaka retrieval."
|
||
|
||
#: 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 ""
|
||
"Untuk contoh-contoh ini, hasilnya akan berupa kecocokan yang lengkap dan "
|
||
"terverifikasi secara independen. Anggaran yang sama untuk proposal kandidat "
|
||
"atau upaya kompilasi akan membantu membandingkan kualitas pencarian. "
|
||
"Mengukur total waktu dan biaya, termasuk kompilasi, akan menunjukkan apakah "
|
||
"kualitas tersebut menghasilkan alur kerja yang efisien. Biaya pelatihan "
|
||
"harus diukur secara terpisah."
|
||
|
||
#: 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 ""
|
||
"Kedua pengukuran itu penting. Proposal yang murah dapat menyebabkan alur "
|
||
"kerja yang mahal jika menyebabkan lebih banyak kompilasi yang tidak "
|
||
"memberikan informasi berguna. Sebaliknya, model yang lebih lambat mungkin "
|
||
"lebih ekonomis jika model tersebut menemukan eksperimen yang berguna lebih "
|
||
"cepat. Perbandingannya harus mencakup biaya-biaya ini."
|
||
|
||
#. {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 ""
|
||
"Menghitung hasil yang diterima juga menjaga kemajuan sementara tetap dalam "
|
||
"perspektif. Salah satu TH09 {ph0}kandidat penyimpanan ulang{ph1} tampak "
|
||
"menjanjikan karena fungsi yang dikompilasi memiliki ukuran yang diharapkan, "
|
||
"namun perbandingan penuh masih menemukan perbedaan besar. Perubahan dalam "
|
||
"cara compiler menyusun instruksi juga dapat membuat kandidat tampak lebih "
|
||
"dekat dengan target tanpa menyelesaikan masalah mendasarnya. Diagnostik "
|
||
"semacam itu dapat memandu eksperimen berikutnya, namun saya akan memvalidasi"
|
||
" imbalan apa pun karena \"mendekati\" dengan pemeriksaan penerimaan penuh."
|
||
|
||
#: 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 ""
|
||
"Saya tertarik dengan pola hasil ini. Jika model AI khusus dapat berfungsi "
|
||
"dengan baik dalam rangkaian kompiler yang sudah dikenal, apakah keunggulan "
|
||
"tersebut dapat bertahan jika terjadi perubahan rantai alat? Dan ketika kedua"
|
||
" model AI memiliki pengambilan yang baik, berapa banyak lagi yang bisa "
|
||
"ditambahkan oleh pelatihan? Jawabannya akan membantu kita memutuskan model "
|
||
"mana yang paling berguna."
|
||
|
||
#: 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 "Agen AI macam apa yang disarankan di sini?"
|
||
|
||
#: 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 ""
|
||
"Jika model-model tersebut terbukti membantu pada tahap-tahap yang berbeda, "
|
||
"pengaturan yang berguna mungkin adalah agen luas yang memiliki akses ke "
|
||
"model AI khusus. Setelah tugas menjadi pencarian kompiler yang familier, "
|
||
"tugas tersebut dapat menanyakan kandidat pada model AI khusus. Jika hasilnya"
|
||
" tidak masuk akal, agen yang lebih luas dapat kembali ke bukti target atau "
|
||
"menyelidiki pengukuran itu sendiri."
|
||
|
||
#: 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 ""
|
||
"Dalam pengaturan tersebut, spesialisasi menjadi alat yang dapat dipilih agen"
|
||
" seiring berkembangnya penyelidikan. Agen mempunyai kebebasan untuk mengubah"
|
||
" arah yang memungkinkan terobosan sebelumnya."
|
||
|
||
#: 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 ""
|
||
"Hal ini tentu saja mengikuti pergeseran industri yang saya jelaskan di esai "
|
||
"sebelumnya. Mampu menjalankan lebih banyak eksperimen mengubah cara kami "
|
||
"mengatur pekerjaan. Hal ini juga memberi kita alasan untuk mempertanyakan "
|
||
"keputusan mana yang memerlukan pertimbangan luas dan mana yang ditingkatkan "
|
||
"melalui pengalaman berulang-ulang dengan bidang tertentu."
|
||
|
||
#: 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 ""
|
||
"Untuk saat ini, model umum terkuat mendapat tempat dalam alur kerja saya "
|
||
"karena menyelesaikan masalah yang sebelumnya belum terpecahkan. Keberhasilan"
|
||
" itu membuat saya ingin mempelajari prosesnya: seberapa banyak bergantung "
|
||
"pada keluasan kemampuan model, dan seberapa banyak bisa dikerjakan oleh "
|
||
"model yang dilatih khusus untuk jenis rekonstruksi ini?"
|
||
|
||
#. {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}Repositori memberi kita cara untuk menguji pertanyaan tersebut.{ph1} "
|
||
"Saya ingin menggunakan data tersebut untuk membuat perbandingan dan melihat "
|
||
"apa yang kita pelajari."
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:775
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "Evidence and model attribution"
|
||
msgstr "Bukti dan atribusi model"
|
||
|
||
#: 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 ""
|
||
"Contoh-contoh ini menjelaskan perbandingan tingkat fungsi historis yang "
|
||
"dicatat dalam penerapan tertaut. Pemeriksaan waktu proses keseluruhan "
|
||
"permainan adalah pencapaian yang terpisah. Sumber dan catatan pencocokan "
|
||
"ditinjau pada 13 Oktober 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 ""
|
||
"Label TH09 {ph0} berarti GPT-6-Astra. Model yang terkait dengan {ph1} "
|
||
"berubah seiring waktu, sehingga label saja tidak dapat mengidentifikasi "
|
||
"model yang digunakan dalam proses tertentu. Nama model eksplisit dalam "
|
||
"commit lain yang dikutip memberikan atribusi yang tercatat. Riwayat ini "
|
||
"tidak mencakup pengukuran biaya atau upaya yang konsisten untuk setiap "
|
||
"proses."
|
||
|
||
#. {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 masa hidup objek sementara:{ph1} {ph2}tinjauan konteks "
|
||
"sebelumnya{ph3} dan {ph4}rekonstruksi lengkap yang diverifikasi melalui "
|
||
"kompilasi ulang yang bersih dari sumber{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 callback:{ph1} {ph2}wilayah diagnostik yang tidak "
|
||
"cocok{ph3}, {ph4}Astra grafik aliran kontrol baru{ph5} dan {ph6}pemeriksaan "
|
||
"kompilasi ulang yang diterima{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}Pengetahuan compiler:{ph1} {ph2}TH095 penggunaan kembali perilaku "
|
||
"identifier-bucket{ph3}, {ph4}TH04 kode sumber pemain dan urutan linker{ph5} "
|
||
"dan {ph6}Luna rekonstruksi lengkap fungsi penciptaan musuh 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}Pemeriksaan dan diagnostik:{ph1} {ph2}TH08 audit konstan floating-"
|
||
"point{ph3}, {ph4}TH08 investigasi numerik{ph5} dan {ph6}TH09 rekonstruksi "
|
||
"penyimpanan ulangan{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 ""
|
||
"Perbandingan yang diusulkan antara model khusus dan pelatihan RL adalah "
|
||
"eksperimen di masa depan. Sejarah proyek memotivasi mereka. Tidak ada model "
|
||
"khusus terlatih yang dievaluasi untuk esai ini."
|
||
|
||
#: 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 "Apakah rekayasa balik memerlukan model yang lebih besar? | 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 ""
|
||
"Apa yang saya pelajari dari rekonstruksi Touhou tentang model umum, model "
|
||
"khusus, dan cara belajar mengajukan hipotesis yang lebih baik melalui umpan "
|
||
"balik kompiler."
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:240
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "On this page"
|
||
msgstr "Di halaman ini"
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:253
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "Models and reverse engineering essay"
|
||
msgstr "Model dan esai rekayasa balik"
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:491
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "Selected reconstruction experiments"
|
||
msgstr "Eksperimen rekonstruksi yang dipilih"
|
||
|
||
#: website/public/blog/reverse-engineering-models/index.html:883
|
||
msgctxt "page:blog/reverse-engineering-models/index.html"
|
||
msgid "Back to top"
|
||
msgstr "Kembali ke atas"
|
||
|
||
#. {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}Catatan bukti terperinci{ph1} memuat perbandingan yang dicatat dan "
|
||
"konteks eksperimen."
|
||
|
||
#~ msgctxt "page:blog/index.html"
|
||
#~ msgid "By N0zoM1z0 · 13 October 2026 · Draft for review"
|
||
#~ msgstr "Oleh N0zoM1z0 · 13 Oktober 2026 · Draf untuk ditinjau"
|
||
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "Setup guide"
|
||
#~ msgstr "Panduan pemasangan"
|
||
|
||
#~ 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 "Salin"
|
||
|
||
#~ 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 "Rekonstruksi * kecepatan dino.js"
|
||
|
||
#~ msgctxt "page:faq/index.html"
|
||
#~ msgid ""
|
||
#~ "With Node.js and npm available, run setup, choose your coding agent and "
|
||
#~ "review the proposed changes."
|
||
#~ msgstr ""
|
||
#~ "Dengan tersedianya Node.js dan npm, jalankan penyiapan, pilih agen "
|
||
#~ "pengkodean Anda, dan tinjau perubahan yang diusulkan."
|
||
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid "A supplied example · Node.js and npm · Your coding agent"
|
||
#~ msgstr "Contoh yang disediakan · Node.js dan npm · Agen pengkodean Anda"
|
||
|
||
#, 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 ""
|
||
#~ "Gunakan agen pengkodean seperti Claude Code, Codex atau Cursor. Anda akan "
|
||
#~ "membutuhkan Node.js dan npm; {ph0}panduan penyiapan mencantumkan versi yang"
|
||
#~ " didukung{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}Halaman * penyaji.js{ph1}{ph2}Ekspor catatan{ph3}{ph4}Panggilan "
|
||
#~ "{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}Jembatan * preload.js{ph1}{ph2}{ph3}{ph4}{ph5}Mengirim pesan bernama ke"
|
||
#~ " proses utama.{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}Pengendali * utama.js{ph1}{ph2}Tulis catatan.csv{ph3}{ph4}Memanggil "
|
||
#~ "pemformat dalam {ph5} dan menulis file tersebut.{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}Memprediksi CSV untuk catatan dengan id 1 dan judul "
|
||
#~ "Halo,\"REA\". Kemudian jalankan formatter toCsv contoh dengan Node.js untuk "
|
||
#~ "memeriksanya. Tampilkan prediksi dan keluaran aktual.{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 ""
|
||
#~ "Judul tetap dalam satu bidang yang dikutip; setiap tanda kutip digandakan. "
|
||
#~ "Ini memeriksa pemformat secara langsung dengan Node.js."
|
||
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid "Node.js · CSV formatter"
|
||
#~ msgstr "Node.js · CSV formatter"
|
||
|
||
#~ 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 ""
|
||
#~ "Anda akan membutuhkan Node.js 22 (22.19+), 24 (24.11+) atau 26+. npm datang "
|
||
#~ "dengan Node.js."
|
||
|
||
#~ msgctxt "page:get-started/index.html"
|
||
#~ msgid "Don't have Node.js, or not sure?"
|
||
#~ msgstr "Tidak memiliki Node.js, atau tidak yakin?"
|
||
|
||
#, 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 ""
|
||
#~ "Jika {ph0} mencetak v22. 19+, v24. 11+ atau v26+, Anda sudah siap. Jika "
|
||
#~ "mencetak versi yang lebih lama atau\" tidak dikenali \" / \"perintah tidak "
|
||
#~ "ditemukan\", instal Node.js 24 PT:"
|
||
|
||
#, 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}Buka contohnya{ph1} · {ph2}Unduh ekspor.js{ph3} · {ph4}Unduh "
|
||
#~ "catatan.json api{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 ""
|
||
#~ "Unduh contohnya dan unzip. Arsip berisi yang lengkap {ph0} map. Analisislah "
|
||
#~ "dengan Node.js dan npm; Electron tidak diperlukan untuk contoh ini."
|
||
|
||
#, 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 ""
|
||
#~ "Pertama kali, atau hilang Node.js atau agen pengkodean? {ph0}Ikuti panduan "
|
||
#~ "penyiapan langkah demi langkah →{ph1}"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "One question: {ph0}why does Calculator give 220 for 200 + 10%?{ph1}"
|
||
#~ msgstr ""
|
||
#~ "Contohnya: {ph0}mengapa Kalkulator menghasilkan 220 untuk 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}Gunakan REA untuk memeriksa Windows Kalkulator. Mengapa 200 "
|
||
#~ "+ 10% menghasilkan 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 ""
|
||
#~ "Kami melihat alasannya {ph0}200 + 10% memberi 220.{ph1} Sekarang mari kita "
|
||
#~ "pulihkan aturan untuk + dan × "
|
||
|
||
#, 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 membaca calc.exe{ph1}{ph2}Ini meluncurkan aplikasi "
|
||
#~ "Kalkulator{ph3}{ph4}Kode terbuka {ph5}. Agen kemudian memilih pustaka "
|
||
#~ "aplikasi yang diinstal.{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}Gunakan REA untuk memeriksa aegis-v3. 4. 3.apk. Temukan cara"
|
||
#~ " menghasilkan kode login enam digit, jelaskan mengapa kode tersebut berubah "
|
||
#~ "setiap 30 detik, dan buat ulang demo kecil di mana saya dapat mengubah "
|
||
#~ "waktu.{ph3}{ph4}{ph5}"
|
||
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "tab_browser_view/preload.js · API member"
|
||
#~ msgstr "tab_browser_view/pramuat.anggota js * API"
|
||
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "tab_browser_view/preload.js · IPC helper"
|
||
#~ msgstr "tab_browser_view/pramuat.js * IPC helper"
|
||
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "main/index.js · handler helper"
|
||
#~ msgstr "utama / indeks.js * handler helper"
|
||
|
||
#~ msgctxt "page:showcase/notion/index.html"
|
||
#~ msgid "main/index.js · clipboard receiver"
|
||
#~ msgstr "utama / indeks.js * penerima papan klip"
|
||
|
||
#~ msgctxt "page:first-investigation/index.html"
|
||
#~ msgid "main.js · lines 8–12"
|
||
#~ msgstr "utama.js * baris 8-12"
|
||
|
||
#~ msgctxt "page:guides/browser/index.html"
|
||
#~ msgid "export.js · example source excerpt"
|
||
#~ msgstr "ekspor.js * contoh kutipan sumber"
|
||
|
||
#~ msgctxt "page:guides/javascript/index.html"
|
||
#~ msgid "renderer.js · example source"
|
||
#~ msgstr "penyaji.js * contoh sumber"
|
||
|
||
#~ msgctxt "page:guides/javascript/index.html"
|
||
#~ msgid "preload.js · example source"
|
||
#~ msgstr "preload.js * contoh sumber"
|
||
|
||
#~ msgctxt "page:guides/javascript/index.html"
|
||
#~ msgid "main.js · example source"
|
||
#~ msgstr "utama.js * contoh sumber"
|
||
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "REA · loaded index.js · selected lines"
|
||
#~ msgstr "REA * indeks yang dimuat.js * baris yang dipilih"
|
||
|
||
#, 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}Gunakan REA untuk menganalisis / absolute / path/to / app "
|
||
#~ "dan menjelaskan cara mengekspor data. Tampilkan kode dan lokasi sumber yang "
|
||
#~ "relevan.{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}Instal REA dan hubungkan ke agen pengkodean ini menggunakan "
|
||
#~ "npx agen rea@pengaturan terbaru. Tunjukkan rencana penyiapan untuk "
|
||
#~ "persetujuan, lalu verifikasi penginstalan.{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}Unduh https://rea.tools/examples/notes-example.zip ke dalam "
|
||
#~ "folder contoh baru dan buka kemasannya. Gunakan REA untuk menemukan apa yang"
|
||
#~ " terjadi ketika saya mengklik Ekspor catatan. Tunjukkan di mana catatan.csv "
|
||
#~ "ditulis, bidang mana yang dikandungnya, dan file serta baris yang "
|
||
#~ "relevan.{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}Instal REA dan hubungkan ke agen pengkodean ini menggunakan "
|
||
#~ "npx agen rea@pengaturan terbaru. Tunjukkan rencana penyiapan untuk "
|
||
#~ "persetujuan, lalu verifikasi penginstalan.{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}Instal REA dan hubungkan ke agen pengkodean ini menggunakan "
|
||
#~ "npx agen rea@pengaturan terbaru. Tunjukkan rencana penyiapan untuk "
|
||
#~ "persetujuan, lalu verifikasi penginstalan.{ph3}{ph4}{ph5}"
|
||
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "0x5b"
|
||
#~ msgstr "0x5b"
|
||
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "0x5c"
|
||
#~ msgstr "0x5c"
|
||
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid "0x64"
|
||
#~ msgstr "0x64"
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "page:index.html"
|
||
#~ msgid ""
|
||
#~ "{ph0}›{ph1}{ph2}Use REA to inspect https://rea.tools/. Clone this website "
|
||
#~ "for me.{ph3}{ph4}{ph5}"
|
||
#~ msgstr ""
|
||
#~ "{ph0}›{ph1}{ph2}Gunakan REA untuk memeriksa https://rea.tools/. Mengkloning "
|
||
#~ "situs web ini untuk saya.{ph3}{ph4}{ph5}"
|
||
|
||
#~ msgctxt "figure:ctf-mask-equation.svg"
|
||
#~ msgid "code[21] = 55"
|
||
#~ msgstr "kode[21] = 55"
|
||
|
||
#~ msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
#~ msgid "0x00406400"
|
||
#~ msgstr "0x00406400"
|
||
|
||
#~ msgctxt "figure:dx-ball-sound-pan-investigation.svg"
|
||
#~ msgid "× pan_scale"
|
||
#~ msgstr "× "
|
||
|
||
#, python-brace-format
|
||
#~ msgctxt "shared"
|
||
#~ msgid "{ph0}REA{ph1}{ph2}Reverse Engineer Anything{ph3}"
|
||
#~ msgstr "{ph0} REA{ph1}{ph2}Merekayasa Balik Apa Pun{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 ""
|