rea/website/locales/id/messages.po

14842 lines
542 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

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

#
msgid ""
msgstr ""
"Project-Id-Version: REA website\n"
"Language: 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\&lt;you&gt;\AppData\Local\Programs\&lt;App&gt;\resources\app.asar</code
#. >
#: website/public/get-started/index.html:569
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Windows:{ph1} {ph2}"
msgstr "{ph0} Windows :{ph1} {ph2}"
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code
#. >/Applications/&lt;App&gt;.app/Contents/Resources/app.asar</code >
#. {ph3}: <em>
#. {ph4}: </em>
#: website/public/get-started/index.html:575
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"{ph0}macOS:{ph1} {ph2} (right-click the app and choose {ph3}Show Package "
"Contents{ph4})"
msgstr ""
"{ph0} macOS :{ph1} {ph2} (klik kanan aplikasi dan pilih {ph3}Tampilkan Isi "
"Paket{ph4})"
#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>/opt/&lt;App&gt;/resources/app.asar</code>
#: website/public/get-started/index.html:583
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Linux:{ph1} often {ph2}"
msgstr "{ph0} Linux :{ph1} 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 ""