#
msgid ""
msgstr ""
"Project-Id-Version: REA website\n"
"Language: it\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:107
msgctxt "page:blog/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/blog/index.html:199
#, python-brace-format
msgctxt "page:blog/index.html"
msgid "{ph0}Home{ph1} / Blog"
msgstr "{ph0}Casa{ph1} / Blog"

#: website/public/blog/index.html:200
msgctxt "page:blog/index.html"
msgid "Blog."
msgstr "Blog."

#: website/public/blog/index.html:201
msgctxt "page:blog/index.html"
msgid "Thoughts on reverse engineering."
msgstr "Riflessioni sul reverse engineering."

#. {ph0}: <br />
#: website/public/blog/index.html:219
#, python-brace-format
msgctxt "page:blog/index.html"
msgid "Game reconstruction{ph0}Essay"
msgstr "Gioco ricostruzione{ph0}Saggio"

#: website/public/blog/index.html:221
msgctxt "page:blog/index.html"
msgid "The industrial revolution in reverse engineering"
msgstr "La rivoluzione industriale nel reverse engineering"

#: website/public/blog/index.html:222
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 ""
"Che manuale RE e ricostruire TH08, TH095 e TH04 mi ha insegnato circa gli "
"agenti, la verifica e la conoscenza che composti attraverso i progetti."

#: website/public/blog/index.html:212 website/public/blog/index.html:227
msgctxt "page:blog/index.html"
msgid "Read the article"
msgstr "Leggi l'articolo"

#: website/public/blog/index.html:230
msgctxt "page:blog/index.html"
msgid "By N0zoM1z0 · 10 October 2026"
msgstr "Di N0zoM1z0 * 10 ottobre 2026"

#. {ph0}: <span aria-hidden="true">
#. {ph1}: </span>
#: website/public/blog/index.html:250
#: website/public/blog/reverse-engineering-models/index.html:889
#: website/public/blog/touhou-reconstruction/index.html:1086
#: website/public/contributors/index.html:1137
#: website/public/examples/dino-lab/index.html:481
#: website/public/faq/index.html:579
#: website/public/first-investigation/index.html:540
#: website/public/get-started/index.html:1823
#: website/public/guides/browser/index.html:513
#: website/public/guides/index.html:288
#: website/public/guides/javascript/index.html:509
#: website/public/guides/native/index.html:515 website/public/index.html:1228
#: website/public/showcase/aegis/index.html:814
#: website/public/showcase/ctf/index.html:783
#: website/public/showcase/dx-ball/index.html:791
#: website/public/showcase/index.html:323
#: website/public/showcase/notion/index.html:637
#: website/public/showcase/th04/index.html:806
#, python-brace-format
msgctxt "shared"
msgid "{ph0}↑{ph1} Top"
msgstr "{ph0}↑{ph1} Cima"

#: website/public/blog/index.html:6
msgctxt "page:blog/index.html"
msgid "REA Blog — Thoughts on Reverse Engineering"
msgstr "REA Blog-Pensieri sul Reverse Engineering"

#: 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 ""
"Pensieri sul reverse engineering, attingendo all'esperienza pratica con REA "
"e agenti AI."

#: website/public/blog/index.html:79 website/public/blog/index.html:92
#: website/public/blog/reverse-engineering-models/index.html:79
#: website/public/blog/reverse-engineering-models/index.html:92
#: website/public/blog/touhou-reconstruction/index.html:79
#: website/public/blog/touhou-reconstruction/index.html:92
#: website/public/contributors/index.html:79
#: website/public/contributors/index.html:92
#: website/public/examples/dino-lab/index.html:79
#: website/public/examples/dino-lab/index.html:92
#: website/public/faq/index.html:79 website/public/faq/index.html:92
#: website/public/first-investigation/index.html:79
#: website/public/first-investigation/index.html:92
#: website/public/get-started/index.html:79
#: website/public/get-started/index.html:92
#: website/public/guides/browser/index.html:79
#: website/public/guides/browser/index.html:92
#: website/public/guides/index.html:79 website/public/guides/index.html:92
#: website/public/guides/javascript/index.html:79
#: website/public/guides/javascript/index.html:92
#: website/public/guides/native/index.html:79
#: website/public/guides/native/index.html:92 website/public/index.html:79
#: website/public/index.html:92 website/public/showcase/aegis/index.html:79
#: website/public/showcase/aegis/index.html:92
#: website/public/showcase/ctf/index.html:79
#: website/public/showcase/ctf/index.html:92
#: website/public/showcase/dx-ball/index.html:79
#: website/public/showcase/dx-ball/index.html:92
#: website/public/showcase/index.html:79 website/public/showcase/index.html:92
#: website/public/showcase/notion/index.html:79
#: website/public/showcase/notion/index.html:92
#: website/public/showcase/th04/index.html:79
#: website/public/showcase/th04/index.html:92
msgctxt "shared"
msgid ""
"REA — Find out how software works. Reverse engineering with your coding "
"agent."
msgstr ""
"REA-Scopri come funziona il software. Reverse engineering con il tuo agente "
"di codifica."

#: 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/contributors/index.html:113
#: 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 "REA home"
msgstr "Home di REA"

#: 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/contributors/index.html:117
#: 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 "Main navigation"
msgstr "Navigazione principale"

#: website/public/blog/index.html:135
#: website/public/blog/reverse-engineering-models/index.html:135
#: website/public/blog/touhou-reconstruction/index.html:135
#: website/public/contributors/index.html:136
#: website/public/examples/dino-lab/index.html:136
#: website/public/faq/index.html:135
#: website/public/first-investigation/index.html:135
#: website/public/get-started/index.html:135
#: website/public/guides/browser/index.html:135
#: website/public/guides/index.html:135
#: website/public/guides/javascript/index.html:135
#: website/public/guides/native/index.html:135 website/public/index.html:137
#: website/public/showcase/aegis/index.html:136
#: website/public/showcase/ctf/index.html:135
#: website/public/showcase/dx-ball/index.html:135
#: website/public/showcase/index.html:135
#: website/public/showcase/notion/index.html:135
#: website/public/showcase/th04/index.html:135
msgctxt "shared"
msgid "REA on GitHub"
msgstr "REA su GitHub"

#: website/public/blog/index.html:155
#: website/public/blog/reverse-engineering-models/index.html:155
#: website/public/blog/touhou-reconstruction/index.html:155
#: website/public/contributors/index.html:156
#: website/public/examples/dino-lab/index.html:156
#: website/public/faq/index.html:155
#: website/public/first-investigation/index.html:155
#: website/public/get-started/index.html:155
#: website/public/guides/browser/index.html:155
#: website/public/guides/index.html:155
#: website/public/guides/javascript/index.html:155
#: website/public/guides/native/index.html:155 website/public/index.html:157
#: website/public/showcase/aegis/index.html:156
#: website/public/showcase/ctf/index.html:155
#: website/public/showcase/dx-ball/index.html:155
#: website/public/showcase/index.html:155
#: website/public/showcase/notion/index.html:155
#: website/public/showcase/th04/index.html:155
msgctxt "shared"
msgid "Join REA on Discord"
msgstr "Unisciti a REA su Discord"

#: website/public/blog/index.html:174
#: website/public/blog/reverse-engineering-models/index.html:174
#: website/public/blog/touhou-reconstruction/index.html:174
#: website/public/contributors/index.html:175
#: website/public/examples/dino-lab/index.html:175
#: website/public/faq/index.html:174
#: website/public/first-investigation/index.html:174
#: website/public/get-started/index.html:174
#: website/public/guides/browser/index.html:174
#: website/public/guides/index.html:174
#: website/public/guides/javascript/index.html:174
#: website/public/guides/native/index.html:174 website/public/index.html:176
#: website/public/showcase/aegis/index.html:175
#: website/public/showcase/ctf/index.html:174
#: website/public/showcase/dx-ball/index.html:174
#: website/public/showcase/index.html:174
#: website/public/showcase/notion/index.html:174
#: website/public/showcase/th04/index.html:174
msgctxt "shared"
msgid "Follow REA on X"
msgstr "Segui REA su X"

#: website/public/blog/index.html:250
msgctxt "page:blog/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/blog/touhou-reconstruction/index.html:107
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/blog/touhou-reconstruction/index.html:199
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}Home{ph1} / {ph2}Blog{ph3} / Touhou reconstruction"
msgstr "{ph0}Casa{ph1} / {ph2}Blog{ph3} / Touhou ricostruzione"

#: website/public/blog/touhou-reconstruction/index.html:203
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Essay · Touhou reconstruction"
msgstr "Saggio * Touhou ricostruzione"

#: website/public/blog/touhou-reconstruction/index.html:204
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "The industrial revolution in reverse engineering."
msgstr "La rivoluzione industriale nel reverse engineering."

#: website/public/blog/touhou-reconstruction/index.html:205
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "By N0zoM1z0 · 10 October 2026"
msgstr "Di N0zoM1z0 * 10 ottobre 2026"

#: website/public/blog/touhou-reconstruction/index.html:207
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Takeaway"
msgstr "Punti chiave"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:209
#, 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}Dare agli agenti autonomia sulle indagini.{ph1} Imposta un obiettivo "
"chiaro e criteri di accettazione, quindi lascia che l'agente decida cosa "
"provare dopo."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:214
#, 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}Usa il repository e Git come memoria di lavoro.{ph1} Mantenere il "
"ragionamento con il codice. I checkpoint Git consentono alla sessione "
"successiva di continuare dopo la fine della conversazione."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:219
#, 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}Lascia che le prove decidano cosa affermi.{ph1} Una spiegazione sicura "
"ha ancora bisogno di test. \"Sconosciuto\" è una risposta valida quando le "
"prove sono incomplete."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:224
#, 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}Prova anche il riferimento di verifica (oracle).{ph1} Prova i casi che "
"dovrebbe rifiutare. Se manca un bug, rivisitare i risultati precedenti che "
"dipendevano da esso."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/touhou-reconstruction/index.html:229
#, 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}Siamo agli inizi della rivoluzione industriale di RE.{ph1} I metodi "
"stanno ancora prendendo forma. C'è ancora molto da esplorare."

#: website/public/blog/touhou-reconstruction/index.html:241
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "How experience compounds"
msgstr "Come composti esperienza"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:242
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}Human direction{ph1} · Goal and acceptance criteria"
msgstr "{ph0}Direzione umana{ph1} * Obiettivi e criteri di accettazione"

#: website/public/blog/touhou-reconstruction/index.html:330
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Autonomy"
msgstr "Autonomia"

#: website/public/blog/touhou-reconstruction/index.html:331
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Agent"
msgstr "Agente"

#. {ph0}: <br />
#: website/public/blog/touhou-reconstruction/index.html:332
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Choose an experiment.{ph0}Propose a hypothesis."
msgstr "Scegli un esperimento.{ph0}Proponi un'ipotesi."

#: website/public/blog/touhou-reconstruction/index.html:335
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Verification"
msgstr "Verifica"

#: website/public/blog/touhou-reconstruction/index.html:336
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Oracle"
msgstr "Riferimento di verifica"

#. {ph0}: <br />
#: website/public/blog/touhou-reconstruction/index.html:337
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Test against a{ph0}concrete reference."
msgstr "Test contro a{ph0}riferimento concreto."

#: website/public/blog/touhou-reconstruction/index.html:340
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Repository"
msgstr "Repository"

#: website/public/blog/touhou-reconstruction/index.html:341
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Working memory"
msgstr "Memoria di lavoro"

#. {ph0}: <br />
#: website/public/blog/touhou-reconstruction/index.html:342
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Code, evidence,{ph0}checks and lessons."
msgstr "Codice, prove,{ph0}controlli e lezioni."

#. {ph0}: <br />
#. {ph1}: <strong>
#. {ph2}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:344
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Mismatch{ph0}{ph1}Revise the hypothesis{ph2}"
msgstr "Disadattamento{ph0}{ph1}Rivedere l'ipotesi{ph2}"

#. {ph0}: <br />
#. {ph1}: <strong>
#. {ph2}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:347
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "A better{ph0}{ph1}starting point{ph2}"
msgstr "Wells{ph0}{ph1}punto di partenza{ph2}"

#: website/public/blog/touhou-reconstruction/index.html:350
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Reuse"
msgstr "Riutilizzo"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:351
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}Pass{ph1} · Keep the result and its evidence"
msgstr "{ph0}Passare{ph1} * Mantenere il risultato e le sue prove"

#: website/public/blog/touhou-reconstruction/index.html:363
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 ""
"Ogni progetto lascia il successivo con un punto di partenza migliore. Ciò "
"include fissare i controlli quando scopriamo una lacuna."

#: website/public/blog/touhou-reconstruction/index.html:370
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "In this article"
msgstr "In questo articolo"

#. {ph0}: <a href="#august">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:372
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}August 2026{ph1}"
msgstr "{ph0}Agosto 2026{ph1}"

#. {ph0}: <a href="#th08">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:373
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}TH08: the continuation{ph1}"
msgstr "{ph0} TH08: la continuazione{ph1}"

#. {ph0}: <a href="#different-approaches">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:374
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}Two approaches{ph1}"
msgstr "{ph0}Due approcci{ph1}"

#. {ph0}: <a href="#th095">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:375
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}TH095: compounding{ph1}"
msgstr "{ph0} TH095: compounding{ph1}"

#. {ph0}: <a href="#th04">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:376
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}TH04: across architectures{ph1}"
msgstr "{ph0} TH04: tra architetture{ph1}"

#. {ph0}: <a href="#semantic-reconstruction">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:377
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}From exact to readable{ph1}"
msgstr "{ph0}Da esatto a leggibile{ph1}"

#. {ph0}: <a href="#industrial-shift">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:380
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}The industrial shift{ph1}"
msgstr "{ph0}Il cambiamento industriale{ph1}"

#. {ph0}: <a href="#possibilities">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:381
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}What becomes possible{ph1}"
msgstr "{ph0}Cosa diventa possibile{ph1}"

#: website/public/blog/touhou-reconstruction/index.html:386
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "What changed in August 2026"
msgstr "Cosa è cambiato nell'agosto 2026"

#: website/public/blog/touhou-reconstruction/index.html:387
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 ""
"Prima di questo lavoro, avevo fatto un sacco di reverse engineering manuale."
" Vorrei ispezionare una funzione fino a quando non ho avuto una spiegazione,"
" quindi testare quella spiegazione contro il programma. Ottenere "
"ulteriormente significava spendere più del mio tempo sulla funzione "
"successiva. Significava anche mantenere un quadro sempre più grande nella "
"mia testa."

#: website/public/blog/touhou-reconstruction/index.html:394
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 ""
"La maggior parte del mio lavoro è sui giochi. Li ricostruisco in modo che il"
" loro comportamento possa essere compreso e alla fine portato in una porta "
"software o in un mod. Questa è l'esperienza dietro questo articolo. Il "
"metodo può essere utile altrove, ma ogni campo deve stabilire cosa può "
"verificare con un riferimento affidabile."

#: website/public/blog/touhou-reconstruction/index.html:401
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 ""
"Nel mese di agosto 2026, Ho iniziato ad esplorare RE agente-driven "
"seriamente. Volevo vedere fino a che punto un agente potesse arrivare con "
"l'accesso al programma e agli strumenti di sviluppo ordinari. Touhou "
"ricostruzione mi ha dato un progetto sostanziale in cui scoprire."

#: website/public/blog/touhou-reconstruction/index.html:407
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 ""
"I primi progressi sono stati sorprendenti. Un'indagine potrebbe continuare "
"senza che io scelga ogni singolo passo. Un confronto non riuscito potrebbe "
"inviare l'agente a un altro chiamante. Potrebbe scrivere una piccola "
"diagnostica e utilizzare il risultato per decidere cosa provare dopo. "
"Dandogli quella libertà ha fatto la differenza: potrei dedicare più "
"attenzione alla direzione del progetto e se i suoi controlli fossero "
"affidabili."

#: website/public/blog/touhou-reconstruction/index.html:416
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 ""
"Il ritmo ha attirato la mia attenzione per primo. Poi ho iniziato a "
"chiedermi cosa sarebbe sopravvissuto oltre il progetto attuale. Il prossimo "
"gioco trarrà beneficio da tutto ciò che abbiamo appena imparato?"

#: website/public/blog/touhou-reconstruction/index.html:423
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "TH08: building on human work"
msgstr "TH08: costruire sul lavoro umano"

#. {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:424
#, 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}, Imperituro Notte, è iniziata come una continuazione di "
"{ph2} La ricostruzione di GensokyoClub{ph3}. La loro fonte pubblica mi ha "
"dato un fondamento sostanziale. È venuto con la conoscenza della costruzione"
" e una storia di contributi che ho conservato nella continuazione."

#: website/public/blog/touhou-reconstruction/index.html:433
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 ""
"La storia importata termina al checkpoint pubblico 10 Agosto. La mia "
"continuazione indipendente è iniziata il 13 agosto. Entro il 19 agosto, il "
"libro mastro ha registrato la fonte per tutte le 1.107 funzioni di gioco "
"identificate."

#: website/public/blog/touhou-reconstruction/index.html:438
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 ""
"Una porta di ricostruzione Linux giocabile è stata impegnata il 24 agosto, "
"circa undici giorni dopo l'inizio della continuazione. Ne è seguita "
"un'edizione Web. La versione nativa Linux a 64 bit è arrivata il 30 agosto."

#: website/public/blog/touhou-reconstruction/index.html:443
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 ""
"Quello che mi ha colpito è che il lavoro aveva raggiunto un programma che la"
" gente poteva eseguire. Per arrivarci sono stati necessari problemi "
"successivi oltre una singola funzione. Anche quando due funzioni sembravano "
"corrette in isolamento, potevano accidentalmente utilizzare copie separate "
"di stato che avrebbero dovuto essere condivise."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:450
#, 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 ""
"Ciò ha reso i controlli di riferimento centrali per il lavoro. Li chiamo "
"{ph0}riferimenti di verifica (oracoli){ph1}. Un confronto di codice può "
"dirci se una funzione ricostruita riproduce le istruzioni originali. Un "
"controllo di runtime può dirci se un percorso esercitato raggiunge lo stato "
"previsto. L'agente propone una spiegazione e la mette alla prova; una "
"mancata corrispondenza gli dà qualcosa di specifico da indagare."

#: website/public/blog/touhou-reconstruction/index.html:458
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "An exact match with the wrong constant"
msgstr "Una corrispondenza esatta con la costante sbagliata"

#: website/public/blog/touhou-reconstruction/index.html:459
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 ""
"Un riferimento di verifica (oracle) è un software che qualcuno ha scritto.  "
"TH08 mi ha dato un chiaro promemoria di quanto può dipendere da quel "
"software."

#. {ph0}: <code>0.0</code>
#. {ph1}: <code>128.0</code>
#: website/public/blog/touhou-reconstruction/index.html:463
#, 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 ""
"Nel mese di settembre, un bug segnalato da una porta switch a valle ha "
"portato di nuovo alla voce auto-collection. La fonte ricostruita controllava"
" la potenza del giocatore contro {ph0}. L'originale usato {ph1}, la soglia "
"di potenza massima."

#: website/public/blog/touhou-reconstruction/index.html:469
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 ""
"La potenza normale non è negativa, quindi il controllo di potenza "
"ricostruito è stato effettivamente sempre soddisfatto. Sopra la linea di "
"raccolta, il gioco potrebbe attirare oggetti senza richiedere la massima "
"potenza. Le altre eccezioni nella condizione erano corrette. Questa costante"
" ha cambiato il comportamento."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/touhou-reconstruction/index.html:476
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}Yet the function had already passed the exact comparison.{ph1}"
msgstr "{ph0}Eppure la funzione aveva già superato il confronto esatto.{ph1}"

#: website/public/blog/touhou-reconstruction/index.html:482
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 ""
"Una ricostruzione può mettere una costante a un indirizzo diverso. Lo "
"strumento di confronto ha tenuto conto di ciò regolando gli indirizzi nelle "
"istruzioni compilate prima di confrontarli con l'originale. Ma non ha mai "
"controllato il valore in virgola mobile memorizzato nell'indirizzo di "
"riferimento."

#. {ph0}: <code>128.0</code>
#. {ph1}: <code>0.0</code>
#: website/public/blog/touhou-reconstruction/index.html:489
#, 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 ""
"Questo ha lasciato un buco nell'assegno. Potrebbe puntare l'istruzione "
"ricostruita a quella originale {ph0} mentre la fonte ha detto ancora {ph1}. "
"I byte di istruzione abbinati. La fonte ha significato qualcosa di diverso."

#. {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:495
#, 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 ""
"Il {ph0}2 Settembre fix{ph1} corretto l'origine e fatto il confronto "
"controllare i byte effettivi della costante di riferimento. A {ph2}audit più"
" ampio{ph3} poi ha esaminato 1.548 riferimenti costanti in virgola mobile. "
"Ha trovato altri dodici riferimenti errati su cinque funzioni accettate."

#: website/public/blog/touhou-reconstruction/index.html:506
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 ""
"Il confronto ora controlla ogni costante in virgola mobile. I suoi test "
"includono valori deliberatamente errati per assicurarsi che vengano "
"rifiutati. Abbiamo anche dovuto rivedere i risultati che avevano superato il"
" controllo più debole."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:511
#, 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}Anche il riferimento di verifica (oracle) doveva essere "
"ricostruito.{ph1} Ripararlo faceva parte della riparazione del gioco."

#: website/public/blog/touhou-reconstruction/index.html:515
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 ""
"Questo è importante quando il team è per lo più una persona che lavora con "
"gli agenti. Non posso ispezionare personalmente ogni linea che producono, "
"quindi gran parte della mia fiducia si basa sui loro controlli. Un punto "
"cieco di un riferimento di verifica condiviso (oracle) può influenzare molte"
" indagini prima che me ne accorga. Devo capire cosa verifica effettivamente "
"il controllore e testarlo contro casi che dovrebbero fallire."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/touhou-reconstruction/index.html:523
#, 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 ""
"Man mano che il lavoro continuava, quei controlli divennero parte del "
"repository. Così hanno fatto i motivi per le modifiche alla fonte e le note "
"che hanno lasciato che una sessione successiva riprendesse dove si fermava "
"una precedente. {ph0}Il repository del codice sorgente stava diventando la "
"memoria di lavoro del progetto.{ph1}"

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/touhou-reconstruction/index.html:532
#, 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}Un batch di successo ci ha dato sia il codice recuperato che un "
"ambiente migliore per il batch successivo.{ph1}"

#: website/public/blog/touhou-reconstruction/index.html:540
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Two different ideas of reconstruction"
msgstr "Due diverse idee di ricostruzione"

#. {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:541
#, 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 ""
"Di GensokyoClub {ph0}pubblico LEGGIMI{ph1} rende esplicito il suo disaccordo"
" con questo tipo di lavoro. L'avviso annuncia che ulteriori sviluppi "
"avverranno privatamente fino al completamento. Un passaggio recita:"

#: website/public/blog/touhou-reconstruction/index.html:552
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 ""
"L'ascesa di grifters (AI decompilations and ports) in questo spazio che "
"prende dal nostro lavoro dipinge una cattiva immagine per i futuri sforzi di"
" decompilazione…"

#: website/public/blog/touhou-reconstruction/index.html:558
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 ""
"L'avviso descrive anche il pedaggio psicologico sui manutentori. La loro "
"politica di contributo esclude le richieste pull prodotte principalmente con"
" l'IA. Hanno messo il loro tempo libero in un lavoro difficile, e quel "
"lavoro ha contribuito a rendere possibile la mia continuazione. Rispetto lo "
"sforzo che c'è dietro. Il disaccordo che voglio discutere riguarda come "
"dovrebbe procedere la ricostruzione e come dovrebbe essere giudicato un "
"contributo."

#: website/public/blog/touhou-reconstruction/index.html:567
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 ""
"Nel flusso di lavoro manuale che conoscevo, sviluppare una comprensione di "
"una funzione e ricostruirla di solito cadeva nella stessa persona. Un "
"progetto si basava molto sull'esperienza di quella persona. La fiducia nel "
"contributore contava perché gran parte del ragionamento accadeva mentre "
"lavoravano."

#: website/public/blog/touhou-reconstruction/index.html:574
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 ""
"I progetti esistenti conservano già la conoscenza nella loro fonte e "
"costruiscono strumenti. Ciò che è cambiato per me è che un agente potrebbe "
"usare quella conoscenza per perseguire la prossima indagine da solo."

#: website/public/blog/touhou-reconstruction/index.html:579
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 ""
"Nella mia continuazione, decido l'obiettivo e lo standard per accettare un "
"risultato. L'agente ha ampia libertà di investigare. La sua ricostruzione "
"proposta deve quindi sopravvivere ai relativi controlli. Voglio che un'altra"
" persona sia in grado di esaminare il motivo per cui abbiamo scelto "
"un'implementazione, anche se un agente ha fatto la maggior parte del lavoro."

#: website/public/blog/touhou-reconstruction/index.html:586
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 ""
"Questa può essere una transizione difficile. Anni di attento lavoro possono "
"diventare la base per una continuazione che si muove molto più velocemente. "
"Ciò solleva domande reali sul credito. Cambia anche ciò che i manutentori "
"devono sapere prima di accettare un contributo."

#: website/public/blog/touhou-reconstruction/index.html:592
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 ""
"L'analogia industriale mi aiuta a pensare a questo. In un mestiere, gran "
"parte del processo dipende dall'abilità della persona che lo esegue. Le "
"macchine cambiano dove è necessaria questa abilità. Qualcuno deve ancora "
"progettare il processo e riconoscere quando il suo output è sbagliato. "
"Diverse comunità possono scegliere quanto di quel cambiamento vogliono "
"assumere."

#: website/public/blog/touhou-reconstruction/index.html:600
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 ""
"La mia scelta è di continuare apertamente, con l'opera ereditata accreditata"
" e la sua storia preservata. Voglio che il nuovo lavoro sia rivedibile. "
"Questo ci dà un modo per chiederci fino a che punto questo approccio può "
"andare e per imparare da ciò che va storto lungo la strada."

#. {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:606
#, 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 ""
"Fonte: di GensokyoClub {ph0}Avviso LEGGIMI{ph1}, controllato il 10 ottobre "
"2026, e la sua {ph2}politica contributiva{ph3}. La citazione è un estratto "
"abbreviato.  Di TH08 {ph4}crediti e provenienza{ph5} registra il limite di "
"continuazione."

#: website/public/blog/touhou-reconstruction/index.html:624
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "TH095: experience starts compounding"
msgstr "TH095: l'esperienza inizia a comporre"

#. {ph0}: <a href="https://github.com/N0zoM1z0/th095">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:625
#, 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}, Spara il proiettile, ha reso il valore di "
"quell'esperienza molto più facile da vedere. Il suo repository è iniziato il"
" 29 agosto con zero funzioni di gioco confermate nel libro mastro. Dovevamo "
"ancora imparare il gioco. Ma sapevamo già molto di più su come iniziare una "
"ricostruzione e come mantenerla in movimento."

#: website/public/blog/touhou-reconstruction/index.html:633
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 ""
"Entro il 7 settembre, tutte le 697 funzioni di gioco identificate avevano "
"fonte. Entro l ' 8 settembre, 696 erano stati accettati come confronti "
"esatti. L'intero programma collegato il 9 settembre. La ricostruzione "
"Windows i386 è stata contrassegnata come giocabile il 10 settembre, circa "
"dodici giorni dopo l'inizializzazione."

#: website/public/blog/touhou-reconstruction/index.html:640
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 ""
"Ho trovato questo più eccitante della velocità del primo progetto. Un nuovo "
"obiettivo potrebbe beneficiare del lavoro svolto su un altro gioco. "
"L'esperienza era già presente negli strumenti e nel modo in cui il progetto "
"è stato organizzato."

#: website/public/blog/touhou-reconstruction/index.html:646
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 ""
"Ad esempio, TH08 ci aveva insegnato a prestare attenzione al programma "
"assemblato in anticipo. Se diverse funzioni recuperate dipendono dallo "
"stesso stato, i loro confronti isolati lasciano aperta una domanda "
"importante. Dobbiamo vederli lavorare insieme. Quella lezione ha contribuito"
" a modellare il modo in cui ci siamo avvicinati alla compilazione "
"dell'intero programma di TH095."

#: website/public/blog/touhou-reconstruction/index.html:653
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 ""
"Una lezione che rimane nella mia testa è utile mentre sono lì. Una volta che"
" diventa un controllo che un'altra sessione può eseguire, può continuare ad "
"aiutare dopo che sono andato avanti. L'agente successivo può utilizzare il "
"risultato senza ripetere l'indagine che lo ha portato."

#: website/public/blog/touhou-reconstruction/index.html:659
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 ""
"Il bug costante in virgola mobile appartiene anche a quella memoria. Spiega "
"perché il controllo di un riferimento richiede anche il controllo dei dati "
"dietro di esso. Mantenere tale correzione con il codice aiuta i progetti "
"successivi a evitare di ereditare il punto cieco del vecchio controllo."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/touhou-reconstruction/index.html:665
#, 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}Il metodo diventa parte del materiale di partenza per la prossima "
"partita.{ph1} Possiamo spendere di più dello sforzo del prossimo progetto su"
" ciò che è effettivamente nuovo sul suo obiettivo."

#: website/public/blog/touhou-reconstruction/index.html:673
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 ""
"Lo stesso vantaggio è disponibile per le persone che si uniscono in seguito."
" Possono ispezionare una decisione e rieseguirne il controllo prima di "
"continuare il lavoro. Non devono ricostruire la storia dell'intero progetto "
"per scoprire perché la fonte sembra il modo in cui lo fa."

#: website/public/blog/touhou-reconstruction/index.html:681
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "TH04: the workflow survives a different architecture"
msgstr "TH04: il flusso di lavoro sopravvive a un'architettura diversa"

#. {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:682
#, 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, ha portato questo lavoro nell'era DOS "
"PC-98. L'obiettivo era ora un ambiente a 16 bit con quattro programmi "
"cooperanti. La comprensione del suo comportamento hardware richiedeva prove "
"diverse dai giochi Windows. Esistente {ph2}ReC98 lavoro{ph3} ci ha dato "
"preziose conoscenze e materiale sorgente anche qui."

#: website/public/blog/touhou-reconstruction/index.html:691
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 ""
"La ricostruzione del DOS sta funzionando. Nel mio test manuale, ho giocato "
"percorsi normali completi attraverso i loro finali e controllato i "
"salvataggi. Il lavoro corrente è una porta nativa a 64 bit. Stabilire una "
"versione DOS funzionante prima dà a quella porta un riferimento."

#: website/public/blog/touhou-reconstruction/index.html:697
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 ""
"L'architettura ha cambiato ciò che avevamo bisogno di indagare. Ha anche "
"cambiato il compilatore e il runtime rispetto al quale abbiamo controllato "
"il nostro lavoro. Ma l'agente potrebbe ancora seguire una domanda fino a un "
"risultato e lasciare che quel risultato guidi il prossimo esperimento."

#: website/public/blog/touhou-reconstruction/index.html:703
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 ""
"Considera il passaggio dal gameplay a un finale. Dobbiamo sapere quale stato"
" attraversa quel confine e quale programma ne è responsabile. Questo è "
"qualcosa che possiamo indagare contro il prodotto DOS. Una volta che le "
"prove e i controlli sono disponibili, un agente può elaborare la domanda "
"come ha fatto su un titolo Windows."

#: website/public/blog/touhou-reconstruction/index.html:711
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 ""
"Questo è il motivo per cui TH04 è importante per l'argomento. Un cambiamento"
" sostanziale della piattaforma non ci ha costretto a ricominciare da capo "
"con un nuovo modo di lavorare. L'architettura ha definito il problema; il "
"flusso di lavoro ci ha comunque dato un modo per risolverlo."

#: website/public/blog/touhou-reconstruction/index.html:717
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 ""
"Per la porta a 64 bit, possiamo ora esaminare la nuova implementazione "
"contro il comportamento già recuperato su DOS. La conoscenza della "
"ricostruzione dà al porto qualcosa su cui costruire."

#. {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:722
#, 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 ""
"Stato del progetto al 10 ottobre 2026: {ph0}Ricostruzione DOS e test "
"manuale{ph1} · {ph2}porta a 64 bit{ph3}. Il porto è ancora in fase di "
"sviluppo."

#: website/public/blog/touhou-reconstruction/index.html:735
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "From exact code to readable code"
msgstr "Dal codice esatto al codice leggibile"

#: website/public/blog/touhou-reconstruction/index.html:736
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid ""
"Once a reconstruction works, I want someone else to be able to understand "
"it."
msgstr ""
"Una volta che una ricostruzione funziona, voglio che qualcun altro sia in "
"grado di capirlo."

#: website/public/blog/touhou-reconstruction/index.html:740
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 ""
"Per me, assemblaggio e offset grezzi possono sembrare vecchi amici. Mi rendo"
" conto che questa è una definizione leggermente insolita di \" "
"leggibile.\"La maggior parte delle persone preferirebbe seguire la logica "
"del gioco senza tenere in mente il layout della memoria dell'eseguibile."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:746
#, 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 ""
"Ecco dove {ph0}ricostruzione semantica{ph1} entrare. Un campo recuperato può"
" ancora essere conosciuto principalmente dal suo offset. Seguiamo come il "
"gioco lo utilizza fino a quando non possiamo spiegare il suo ruolo. Quindi "
"possiamo dargli un nome significativo e un tipo che si adatta alle prove. "
"Manteniamo il ragionamento con la fonte in modo che la prossima persona "
"possa vedere da dove proviene quell'interpretazione."

#: website/public/blog/touhou-reconstruction/index.html:754
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 ""
"Questo diventa particolarmente importante per una porta software. Un "
"indirizzo assoluto mi dice dove viveva qualcosa nel vecchio eseguibile. Dà "
"un piccolo aiuto all'implementazione a 64 bit nel decidere quale oggetto "
"dovrebbe possedere quello stato. Per spostare il comportamento in modo "
"sicuro, abbiamo bisogno di recuperare la relazione dietro il vecchio accesso"
" alla memoria."

#: website/public/blog/touhou-reconstruction/index.html:761
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "The order I now use is:"
msgstr "L'ordine che ora uso è:"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:763
#, 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}Recuperare una linea di base esatta.{ph1} Compilare i pezzi ricostruiti"
" con il compilatore storico. Confronta il codice e i dati rilevanti con "
"l'eseguibile originale. Registra le differenze irrisolte in modo che la fase"
" successiva abbia un chiaro punto di partenza."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:770
#, 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}Costruire e giocare sulla piattaforma originale.{ph1} Collega questi "
"pezzi al programma reale usando l'architettura e il compilatore originali. "
"Esercitare importanti percorsi di gioco. È qui che possiamo trovare problemi"
" con lo stato condiviso o l'inizializzazione che un confronto di funzioni "
"isolato ha mancato."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/touhou-reconstruction/index.html:777
#, 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}Ricostruire la semantica contro entrambi i riferimenti.{ph1} Prendi una"
" parte coerente del gioco alla volta e stabilisci cosa significa la sua "
"fonte recuperata. Migliora la sua rappresentazione preservando i confronti "
"esatti e la build storica giocabile."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:786
#, 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}Rendere il porto moderno.{ph1} Spostare il comportamento stabilito nel "
"nuovo ambiente, ad esempio una build nativa a 64 bit. Il gioco a piattaforma"
" originale ricostruito rimane un riferimento per confrontare come si "
"comporta la porta."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:793
#, 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 ""
"La build giocabile dal secondo stadio diventa un {ph0}secondo riferimento di"
" verifica (oracle){ph1} durante il terzo. Il primo riferimento di verifica "
"(oracle) verifica se la nostra fonte modificata riproduce ancora il codice e"
" i dati originali pertinenti. Il secondo verifica che il programma "
"ricostruito costruisca e si comporti correttamente lungo i percorsi che "
"esercitiamo."

#: website/public/blog/touhou-reconstruction/index.html:801
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 ""
"Prendono diversi errori. Una modifica del tipo può alterare le istruzioni "
"generate. Un cambio di proprietà può lasciare due parti del gioco "
"utilizzando diverse copie di stato. Mantenere entrambi i controlli "
"disponibili dà all'agente un fallimento concreto per indagare prima di "
"portare un refactor ulteriormente."

#: website/public/blog/touhou-reconstruction/index.html:808
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 ""
"Un nome ha bisogno di prove proprie. Un confronto esatto non può dirci se un"
" campo significa davvero \"tempo di invulnerabilità\".\"Dobbiamo stabilirlo "
"da come il gioco lo scrive e lo usa. Se il significato rimane incerto, un "
"nome neutro è più utile al prossimo lettore di un'ipotesi sicura."

#. {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:815
#, 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 ""
"Abbiamo imparato questo ordine attraverso i progetti.  TH08 aveva già porte "
"giocabili prima di alcuni dei suoi successivi audit della piattaforma "
"storica. Ciò ha reso alcuni difetti più difficili da vedere. Il {ph0}Flusso "
"di lavoro corrente della fabbrica{ph1} mette al primo posto la build della "
"piattaforma originale, quindi il lavoro semantico può usarlo come "
"riferimento prima dell'inizio del porting."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/touhou-reconstruction/index.html:826
#, 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}La ricostruzione esatta ci dà un riferimento. La ricostruzione "
"semantica rende fruibile la conoscenza recuperata.{ph1} Una porta può quindi"
" costruire su entrambi."

#: website/public/blog/touhou-reconstruction/index.html:835
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "What makes this an industrial shift"
msgstr "Cosa rende questo un cambiamento industriale"

#: website/public/blog/touhou-reconstruction/index.html:836
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 ""
"Questi progetti sono cambiati dove ho speso la mia attenzione. Una volta che"
" gli agenti hanno potuto portare avanti molte indagini, migliorare il loro "
"ambiente di lavoro è diventata una delle cose più utili che potessi fare. "
"Uno strumento migliore potrebbe aiutare con ogni funzione successiva che ne "
"aveva bisogno."

#: website/public/blog/touhou-reconstruction/index.html:843
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 ""
"L'autonomia conta qui. L'utile passo successivo diventa spesso chiaro solo "
"dopo un esperimento fallito. Un agente ha bisogno di abbastanza libertà per "
"seguire quel risultato da qualche parte inaspettato. Se deve aspettare che "
"io prescriva ogni passo, gran parte del lavoro rimane legato alla mia "
"attenzione."

#: website/public/blog/touhou-reconstruction/index.html:850
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 ""
"Mi aspetto che l'agente faccia ipotesi sbagliate. Ciò che conta è se "
"possiamo testarli e imparare dal risultato. Un controllo fallito dovrebbe "
"aiutare a capire l'errore abbastanza bene da riprovare. Devo ancora decidere"
" se le prove accumulate supportano una pietra miliare del progetto."

#: website/public/blog/touhou-reconstruction/index.html:857
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 consente all'agente di accedere agli strumenti di analisi. Una domanda "
"sul chiamante di una funzione può portare direttamente all'ispezione di quel"
" chiamante. Il progetto di ricostruzione fornisce il compilatore e i propri "
"controlli di riferimento. L'agente può usarli per testare la fonte che "
"propone e vedere dove regge la sua spiegazione."

#: website/public/blog/touhou-reconstruction/index.html:864
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 ""
"Il bug TH08 mostra perché quei controlli meritano attenzione ingegneristica."
" Quando lo stesso confronto viene utilizzato tra centinaia di funzioni, una "
"lacuna in esso può diffondersi molto più di un errore in un'implementazione."
" Testare il checker migliora il feedback disponibile per tutti i lavori "
"successivi."

#. {ph0}: <a
#. href="https://collection.sciencemuseumgroup.org.uk/objects/co51439/watts-
#. steam-engine-indicator" >
#. {ph1}: </a >
#: website/public/blog/touhou-reconstruction/index.html:871
#, 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 ""
"L'analogia industriale ha qui un utile esempio storico. Boulton e Watt hanno"
" introdotto un {ph0}indicatore del motore a vapore nel 1796{ph1} per aiutare"
" a regolare le valvole del motore. Una versione di registrazione tracciata "
"pressione attraverso la corsa del pistone. Ha reso il comportamento interno "
"del motore disponibile per l'ispezione. I nostri strumenti di confronto "
"hanno uno scopo simile: ci permettono di esaminare ciò che il macchinario "
"sta facendo mentre lo miglioriamo."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/touhou-reconstruction/index.html:884
#, 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}Siamo nelle prime fasi di questo cambiamento industriale.{ph1} Gran "
"parte dell'infrastruttura è ancora immatura. Gli agenti possono muoversi più"
" velocemente di quanto i nostri controlli siano stati progettati per "
"supportare, quindi il processo deve svilupparsi insieme a loro. Quando "
"troviamo un difetto in uno strumento condiviso, dobbiamo ripararlo e "
"rivedere i risultati che ha influenzato. Il prossimo progetto può quindi "
"ereditare uno strumento più forte."

#: website/public/blog/touhou-reconstruction/index.html:894
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 ""
"C'è anche un limite pratico a qualsiasi conversazione. Finirà prima che una "
"grande ricostruzione sia terminata. Il repository del codice sorgente deve "
"consentire a un'altra sessione di continuare senza perdere il motivo "
"dell'ultima decisione."

#. {ph0}: <a href="https://github.com/N0zoM1z0/touhou-reconstruction-factory"
#. >
#. {ph1}: </a >
#: website/public/blog/touhou-reconstruction/index.html:900
#, 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 ""
"Il {ph0}Touhou Ricostruzione Fabbrica{ph1} nasce da questo bisogno. Offre ai"
" progetti un modo condiviso per portare avanti i loro controlli e lezioni. "
"Lavorare su un gioco può migliorare le condizioni di partenza per un altro."

#: website/public/blog/touhou-reconstruction/index.html:910
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 ""
"Questo è ciò che rende l'analogia industriale significativa per me. "
"L'esperienza inizia a diventare parte di strumenti che gli altri possono "
"utilizzare. Migliorare questi strumenti cambia quanto la prossima persona—o "
"il prossimo agente-può fare."

#: website/public/blog/touhou-reconstruction/index.html:918
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "The projects we can now consider"
msgstr "I progetti che possiamo ora considerare"

#: website/public/blog/touhou-reconstruction/index.html:919
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 ""
"Il ritmo è importante perché cambia la decisione di iniziare. Un gioco "
"potrebbe essere affascinante da decodificare e richiedere ancora più "
"attenzione di quanto potrei realisticamente dargli. Molti progetti "
"rimarrebbero idee."

#: website/public/blog/touhou-reconstruction/index.html:925
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 ""
"Ora posso vedere un modo per mantenere un tale progetto in movimento "
"attraverso ripetute indagini. Ottenere una ricostruzione funzionante rende "
"una porta software più pratica. Il recupero della semantica leggibile rende "
"più facile per qualcun altro esplorare un mod. Lo sforzo messo in "
"comprensione del gioco può continuare a pagare dopo la prima versione viene "
"eseguito."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/touhou-reconstruction/index.html:932
#, 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 ""
"Ora guardo un programma sconosciuto e chiedo: {ph0}quale accesso, feedback e"
" conoscenza accumulata permetterebbero a un agente di lavorare su questo in "
"modo affidabile?{ph1}"

#: website/public/blog/touhou-reconstruction/index.html:939
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 ""
"Questa domanda mi fa prendere in considerazione progetti che in precedenza "
"avrei lasciato da solo. Ognuno può migliorare il modo in cui ci avviciniamo "
"al prossimo. Voglio continuare a esplorare fino a che punto ci può portare."

#: website/public/blog/touhou-reconstruction/index.html:947
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Project milestones and sources"
msgstr "Pietre miliari e fonti del progetto"

#: website/public/blog/touhou-reconstruction/index.html:948
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 ""
"Le date descrivono i punti di controllo del progetto registrati, controllati"
" rispetto alla cronologia pubblica di GitHub il 10 ottobre 2026. Il tempo "
"trascorso è il tempo del calendario tra i commit. Presenza di origine, "
"confronti esatti, una build e un risultato di runtime ogni nome una pietra "
"miliare diversa."

#. {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:956
#, 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 Agosto proseguimento{ph3}, {ph4}19 Agosto fonte "
"ledger{ph5}, {ph6}24 Agosto Porto Linux{ph7}, {ph8}26 Agosto Edizione "
"Web{ph9}, e {ph10}30 Agosto Rilascio Linux a 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:979
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid ""
"{ph0}TH095:{ph1} {ph2}29 August initial ledger{ph3}, {ph4}7 September source"
" ledger{ph5}, {ph6}8 September comparisons{ph7}, {ph8}9 September "
"linkage{ph9}, and {ph10}10 September playable-build record{ph11}."
msgstr ""
"{ph0} TH095 :{ph1} {ph2}29 Agosto libro mastro iniziale{ph3}, {ph4}7 "
"Settembre fonte ledger{ph5}, {ph6}8 Settembre confronti{ph7}, {ph8}9 "
"Settembre linkage{ph9}, e {ph10}10 Settembre giocabile-build record{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:1002
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid ""
"{ph0}TH04:{ph1} {ph2}10 October handoff{ph3} records the working DOS "
"reconstruction, the maintainer's complete Normal-route testing and the "
"current 64-bit phase."
msgstr ""
"{ph0} TH04 :{ph1} {ph2}10 Ottobre handoff{ph3} registra la ricostruzione del"
" DOS funzionante, il test completo del percorso normale del manutentore e "
"l'attuale fase a 64 bit."

#. {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:1011
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid ""
"{ph0}TH08 oracle correction:{ph1} {ph2}the reported auto-collection "
"bug{ph3}, {ph4}the source and comparison fix{ph5}, and {ph6}the full "
"floating-literal audit{ph7}."
msgstr ""
"{ph0} TH08 riferimento di verifica (oracle) correzione:{ph1} {ph2}il bug di "
"raccolta automatica segnalato{ph3}, {ph4}la correzione di origine e "
"confronto{ph5}, e {ph6}l'audit costante in virgola mobile completo{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:1025
#, 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}Ricostruzione semantica:{ph1} {ph2} Il playbook di leggibilità di "
"TH08{ph3} e {ph4}l'ordine di fase della fabbrica e due percorsi di "
"convalida{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:1037
#, 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}Storia industriale:{ph1} {ph2}l'indicatore del motore a vapore del "
"Science Museum Group{ph3} descrive l'introduzione del 1796 e il meccanismo "
"di registrazione della pressione."

#. {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:1046
#, 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}Metodo:{ph1} fabbrica {ph2}autonomia agente{ph3} e {ph4}conoscenza "
"cross-game{ph5} i documenti conservano i principi di lavoro e le lezioni."

#. {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:1061
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}More articles{ph1} · {ph2}Explore a TH04 investigation{ph3}"
msgstr "{ph0}Altri articoli{ph1} · {ph2}Esplora un'indagine 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 "La rivoluzione industriale del Reverse Engineering-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 riflette sul reverse engineering manuale, sulla ricostruzione "
"Touhou con agenti AI e su come la conoscenza si compensa in TH08 , TH095 e "
"PC-98 TH04 ."

#: website/public/blog/touhou-reconstruction/index.html:355
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Experience carried between projects"
msgstr "Esperienza tra i progetti"

#: website/public/blog/touhou-reconstruction/index.html:369
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/blog/touhou-reconstruction/index.html:384
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Touhou reconstruction essay"
msgstr "Touhou ricostruzione saggio"

#: website/public/blog/touhou-reconstruction/index.html:1086
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/examples/dino-lab/index.html:108
msgctxt "page:examples/dino-lab/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <span>
#. {ph3}: </span>
#: website/public/examples/dino-lab/index.html:200
#, python-brace-format
msgctxt "page:examples/dino-lab/index.html"
msgid "{ph0}Home{ph1}{ph2}/{ph3}Dinosaur speed lab"
msgstr "{ph0}Casa{ph1}{ph2}/{ph3}Dinosaur speed lab"

#: website/public/examples/dino-lab/index.html:203
msgctxt "page:examples/dino-lab/index.html"
msgid "Inspect → rebuild → change"
msgstr "Ispezionare → ricostruire → modificare"

#: website/public/examples/dino-lab/index.html:204
msgctxt "page:examples/dino-lab/index.html"
msgid "Rebuild the dinosaur’s speed rule."
msgstr "Ricostruisci la regola della velocità del dinosauro."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <mark class="prose-highlight">
#. {ph3}: </mark>
#: website/public/examples/dino-lab/index.html:205
#, 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 ""
"Per ricreare l'accelerazione del gioco, prima trova la regola che controlla "
"la sua velocità. {ph0} REA ha restituito lo script in esecuzione;{ph1} "
"abbiamo usato la sua regola per costruire questo mini-gioco con "
"{ph2}velocità regolabile.{ph3}"

#: website/public/examples/dino-lab/index.html:214
#: website/public/examples/dino-lab/index.html:213
msgctxt "page:examples/dino-lab/index.html"
msgid "On this page"
msgstr "In questa pagina"

#. {ph0}: <a href="#play">
#. {ph1}: </a>
#: website/public/examples/dino-lab/index.html:216
#, python-brace-format
msgctxt "page:examples/dino-lab/index.html"
msgid "{ph0}Play and change the speed{ph1}"
msgstr "{ph0}Gioca e cambia la velocità{ph1}"

#. {ph0}: <a href="#rule">
#. {ph1}: </a>
#: website/public/examples/dino-lab/index.html:217
#, python-brace-format
msgctxt "page:examples/dino-lab/index.html"
msgid "{ph0}Read the recovered rule{ph1}"
msgstr "{ph0}Leggi la regola recuperata{ph1}"

#. {ph0}: <a href="#check">
#. {ph1}: </a>
#: website/public/examples/dino-lab/index.html:218
#, python-brace-format
msgctxt "page:examples/dino-lab/index.html"
msgid "{ph0}Check the reconstruction{ph1}"
msgstr "{ph0}Controlla la ricostruzione{ph1}"

#. {ph0}: <a href="#inspect">
#. {ph1}: </a>
#: website/public/examples/dino-lab/index.html:219
#, python-brace-format
msgctxt "page:examples/dino-lab/index.html"
msgid "{ph0}Try the analysis{ph1}"
msgstr "{ph0}Prova l'analisi{ph1}"

#: website/public/examples/dino-lab/index.html:224
msgctxt "page:examples/dino-lab/index.html"
msgid "Play and change the speed"
msgstr "Gioca e cambia la velocità"

#: website/public/examples/dino-lab/index.html:225
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 ""
"Premere Play, quindi saltare sopra il cactus. Spostare il cursore velocità "
"per provare un gioco più lento o più veloce; passa a una velocità fissa. "
"Selezionare la regola recuperato per iniziare a 6 e gradualmente accelerare "
"di nuovo."

#: website/public/examples/dino-lab/index.html:231
msgctxt "page:examples/dino-lab/index.html"
msgid "Play the reconstruction"
msgstr "Gioca alla ricostruzione"

#: website/public/examples/dino-lab/index.html:263
msgctxt "page:examples/dino-lab/index.html"
msgid "Play"
msgstr "Gioca"

#: website/public/examples/dino-lab/index.html:266
msgctxt "page:examples/dino-lab/index.html"
msgid "Jump ↑"
msgstr "Salta ↑"

#: website/public/examples/dino-lab/index.html:267
msgctxt "page:examples/dino-lab/index.html"
msgid "Restart"
msgstr "Ricomincia"

#: website/public/examples/dino-lab/index.html:270
msgctxt "page:examples/dino-lab/index.html"
msgid "Speed"
msgstr "Velocità"

#: website/public/examples/dino-lab/index.html:280
msgctxt "page:examples/dino-lab/index.html"
msgid "Use the recovered acceleration rule"
msgstr "Utilizzare la regola di accelerazione recuperata"

#: website/public/examples/dino-lab/index.html:284
msgctxt "page:examples/dino-lab/index.html"
msgid "Original rule: start at 6, then increase toward 13."
msgstr "Regola originale: inizia da 6, quindi aumenta verso 13."

#: website/public/examples/dino-lab/index.html:287
msgctxt "page:examples/dino-lab/index.html"
msgid "Move the slider to set your own speed. Space or Jump clears a cactus."
msgstr ""
"Spostare il cursore per impostare la propria velocità. Spazio o salto "
"cancella un cactus."

#: website/public/examples/dino-lab/index.html:292
msgctxt "page:examples/dino-lab/index.html"
msgid ""
"Enable JavaScript to play the reconstruction. The code and explanation above"
" remain readable."
msgstr ""
"Abilita JavaScript per riprodurre la ricostruzione. Il codice e la "
"spiegazione di cui sopra rimangono leggibili."

#: website/public/examples/dino-lab/index.html:300
msgctxt "page:examples/dino-lab/index.html"
msgid "Read the script REA returned"
msgstr "Leggere lo script REA restituito"

#. {ph0}: <a href="https://wayou.github.io/t-rex-runner/" >
#. {ph1}: </a >
#. {ph2}: <code>index.js</code>
#: website/public/examples/dino-lab/index.html:301
#, 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 ""
"Abbiamo ispezionato {ph0}edizione del browser derivata da Chromium di "
"wayou{ph1} con REA . Ha restituito il carico {ph2}, compreso questo ramo "
"nella funzione di aggiornamento del gioco:"

#. {ph0}: <code>SPEED: 6</code>
#. {ph1}: <code>ACCELERATION: 0.001</code>
#. {ph2}: <code>MAX_SPEED: 13</code>
#: website/public/examples/dino-lab/index.html:317
#, 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 ""
"Le impostazioni sono {ph0}, {ph1} e {ph2}. Il gioco esegue questo ramo su un"
" aggiornamento senza una collisione."

#: website/public/examples/dino-lab/index.html:322
msgctxt "page:examples/dino-lab/index.html"
msgid "Use the same rule in the new game"
msgstr "Usa la stessa regola nel nuovo gioco"

#: website/public/examples/dino-lab/index.html:328
#: website/public/examples/dino-lab/index.html:427
msgctxt "page:examples/dino-lab/index.html"
msgid "Copy"
msgstr "Copia"

#: website/public/examples/dino-lab/index.html:341
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 ""
"Il mini-gioco utilizza questa funzione per l'accelerazione automatica. Lo "
"spostamento del cursore fornisce invece una velocità fissa. Drawing, jump "
"physics e rectangle collision checks sono nuovi codici per questo gioco "
"didattico; la sua simulazione avanza a 60 aggiornamenti al secondo."

#. {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:347
#, 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}Scarica la regola della velocità{ph1} · {ph2}Leggi il codice del "
"gioco{ph3}"

#: website/public/examples/dino-lab/index.html:355
msgctxt "page:examples/dino-lab/index.html"
msgid "Check the reconstruction"
msgstr "Controlla la ricostruzione"

#: website/public/examples/dino-lab/index.html:356
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 ""
"Abbiamo chiamato la funzione di aggiornamento del gioco originale con "
"ostacoli e programmazione automatica disabilitata. Confronta quelle velocità"
" registrate con un replay della regola recuperata."

#: website/public/examples/dino-lab/index.html:365
msgctxt "page:examples/dino-lab/index.html"
msgid "Updates"
msgstr "Aggiornare"

#: website/public/examples/dino-lab/index.html:366
msgctxt "page:examples/dino-lab/index.html"
msgid "Original game"
msgstr "Gioco originale"

#: website/public/examples/dino-lab/index.html:367
msgctxt "page:examples/dino-lab/index.html"
msgid "Reconstructed rule"
msgstr "Regola ricostruita"

#: website/public/examples/dino-lab/index.html:394
msgctxt "page:examples/dino-lab/index.html"
msgid "Run the speed check"
msgstr "Eseguire il controllo della velocità"

#: website/public/examples/dino-lab/index.html:397
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 ""
"Valori arrotondati a tre decimali. Il ramo controlla prima di aggiungere, "
"quindi l'incremento finale può prendere velocità appena sopra 13."

#: website/public/examples/dino-lab/index.html:403
msgctxt "page:examples/dino-lab/index.html"
msgid "Try the analysis yourself"
msgstr "Prova tu stesso l'analisi"

#. {ph0}: <a href="../../get-started/">
#. {ph1}: </a>
#: website/public/examples/dino-lab/index.html:405
#, python-brace-format
msgctxt "page:examples/dino-lab/index.html"
msgid "{ph0}Set up REA{ph1} with your coding agent."
msgstr "{ph0}Impostare REA {ph1} con il tuo agente di codifica."

#. {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:409
#, 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 ""
"Segui il {ph0}passaggi di connessione del browser{ph1}, servendosi {ph2} "
"come l'URL della pagina."

#: website/public/examples/dino-lab/index.html:416
msgctxt "page:examples/dino-lab/index.html"
msgid ""
"Give your agent the page URL and local debugging endpoint, then copy this "
"prompt."
msgstr ""
"Assegna all'agente l'URL della pagina e l'endpoint di debug locale, quindi "
"copia questo prompt."

#. {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:423
#, 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}Il tuo agente di codifica"

#. {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:436
#, 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}Usa REA per ispezionare questo gioco di dinosauri. Perché "
"diventa più veloce? Mostra la regola della velocità, quindi costruisci una "
"versione piccola con una velocità regolabile.{ph3}{ph4}{ph5}"

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/examples/dino-lab/index.html:445
#, 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 ""
"Chiedi un follow-up: {ph0}\"Dove viene calcolata l'altezza di salto? "
"Aggiungere un controllo di altezza di salto alla nuova versione.”{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:452
#, 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 ""
"Fonte: {ph0}codice di velocità ispezionato{ph1}, Autori di Chromium. "
"{ph2}Copyright e licenza BSD{ph3}.  REA 4.1.0 ha controllato l'edizione HTTP"
" in esecuzione in Chrome 150."

#: website/public/examples/dino-lab/index.html:6
msgctxt "page:examples/dino-lab/index.html"
msgid "Chrome Dinosaur Game: Rebuild Its Speed Rule — REA"
msgstr "Chrome Dinosaur Game: ricostruisci la sua regola di velocità-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 ""
"Leggi la regola di velocità del gioco dei dinosauri con REA, ricostruiscilo,"
" quindi cambia la velocità e gioca."

#: website/public/examples/dino-lab/index.html:222
msgctxt "page:examples/dino-lab/index.html"
msgid "Dinosaur speed reconstruction"
msgstr "Dinosauro velocità ricostruzione"

#: website/public/examples/dino-lab/index.html:253
msgctxt "page:examples/dino-lab/index.html"
msgid ""
"Dinosaur mini-game. Use the Jump button or press Space while the game is "
"focused."
msgstr ""
"Dinosauro mini-gioco. Utilizzare il pulsante di salto o premere Spazio "
"mentre il gioco è focalizzato."

#: website/public/examples/dino-lab/index.html:328
msgctxt "page:examples/dino-lab/index.html"
msgid "Copy reconstructed speed rule"
msgstr "Copia regola di velocità ricostruita"

#: website/public/examples/dino-lab/index.html:427
msgctxt "page:examples/dino-lab/index.html"
msgid "Copy dinosaur analysis prompt"
msgstr "Copia dinosaur analysis prompt"

#: website/public/examples/dino-lab/index.html:481
msgctxt "page:examples/dino-lab/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/faq/index.html:107
msgctxt "page:faq/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/faq/index.html:199
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Home{ph1} / FAQ"
msgstr "{ph0}Casa{ph1} / FAQ"

#: website/public/faq/index.html:200
msgctxt "page:faq/index.html"
msgid "REA FAQ."
msgstr "Domande FREQUENTI SU REA."

#: website/public/faq/index.html:201
msgctxt "page:faq/index.html"
msgid "Setup, updates, analysis and troubleshooting."
msgstr "Configurazione, aggiornamenti, analisi e risoluzione dei problemi."

#: website/public/faq/index.html:205
msgctxt "page:faq/index.html"
msgid "Topics"
msgstr "Argomento"

#. {ph0}: <a href="#setup">
#. {ph1}: </a>
#: website/public/faq/index.html:207
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Setup and updates{ph1}"
msgstr "{ph0}Configurazione e aggiornamenti{ph1}"

#. {ph0}: <a href="#analysis">
#. {ph1}: </a>
#: website/public/faq/index.html:208
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Analysis{ph1}"
msgstr "{ph0}Analisi{ph1}"

#. {ph0}: <a href="#troubleshooting">
#. {ph1}: </a>
#: website/public/faq/index.html:209
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Troubleshooting{ph1}"
msgstr "{ph0}Risoluzione dei problemi{ph1}"

#. {ph0}: <a href="#sharing">
#. {ph1}: </a>
#: website/public/faq/index.html:210
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Data and sharing{ph1}"
msgstr "{ph0}Dati e condivisione{ph1}"

#: website/public/faq/index.html:219
msgctxt "page:faq/index.html"
msgid "Setup and updates"
msgstr "Configurazione e aggiornamenti"

#: website/public/faq/index.html:222
msgctxt "page:faq/index.html"
msgid "How do I install REA?"
msgstr "Come installo REA?"

#: website/public/faq/index.html:230
msgctxt "page:faq/index.html"
msgid "Terminal · agent setup"
msgstr "Terminale * configurazione agente"

#: website/public/faq/index.html:231 website/public/faq/index.html:272
#: website/public/faq/index.html:290 website/public/faq/index.html:374
#: website/public/faq/index.html:421 website/public/faq/index.html:461
#: website/public/faq/index.html:481
msgctxt "page:faq/index.html"
msgid "Copy"
msgstr "Copia"

# Reviewed for readable setup and analysis terminology.
#. {ph0}: <a href="../get-started/">
#. {ph1}: </a>
#: website/public/faq/index.html:242
#, 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 ""
"La configurazione registra la connessione MCP di REA e installa la skill di "
"analisi corrispondente. Al termine, riavvia il tuo agente e forniscigli il "
"percorso del file e una domanda. La {ph0}guida alla configurazione{ph1} "
"spiega i prerequisiti e la prima analisi."

#: website/public/faq/index.html:251
msgctxt "page:faq/index.html"
msgid "Which coding agents can use REA?"
msgstr "Quali agenti di codifica possono utilizzare REA ?"

#: website/public/faq/index.html:252
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 ""
"Qualsiasi agente che supporti i server MCP locali. Il programma di "
"installazione include Claude Code , Claude Desktop, Codex , Cursor , Gemini "
"CLI , Windsurf , Devin , OpenCode , Antigravity , GitHub Copilot CLI , "
"Command Code , Grok Build , OMP , e VS Code . Il connettore di Grok Bot "
"viene aggiunto dalla sua chat."

#. {ph0}: <a href="../get-started/#agent">
#. {ph1}: </a>
#: website/public/faq/index.html:259
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Connect your coding agent{ph1}."
msgstr "{ph0}Connetti il tuo agente di codifica{ph1}."

#: website/public/faq/index.html:264
msgctxt "page:faq/index.html"
msgid "How do I update REA?"
msgstr "Come aggiorno REA?"

#: website/public/faq/index.html:265
msgctxt "page:faq/index.html"
msgid ""
"REA releases frequently, including bug fixes. If you installed the CLI with "
"npm:"
msgstr ""
"REA rilascia frequentemente, comprese le correzioni di bug. Se è stato "
"installato il CLI con npm :"

#: website/public/faq/index.html:271
msgctxt "page:faq/index.html"
msgid "Terminal · installed CLI"
msgstr "Terminale * installato CLI"

#. {ph0}: <code>npx</code>
#: website/public/faq/index.html:283
#, 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 ""
"Seguire il comando setup refresh stampato dall'aggiornamento. Se si imposta "
"il vostro agente attraverso {ph0}, eseguire:"

#: website/public/faq/index.html:289
msgctxt "page:faq/index.html"
msgid "Terminal · refresh agent setup"
msgstr "Terminale * aggiorna la configurazione dell'agente"

# Reviewed for readable setup and analysis terminology.
#. {ph0}: <code>npx -y rea-agents@latest</code>
#: website/public/faq/index.html:301
#, 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 ""
"Controlla le modifiche e riavvia il tuo agente. La connessione a REA usa una"
" versione specifica del pacchetto: esegui di nuovo la configurazione per "
"usare la nuova versione. Per un singolo comando CLI, aggiungi il comando "
"dopo {ph0}."

#: website/public/faq/index.html:309
msgctxt "page:faq/index.html"
msgid "Is installing the skill from skills.sh enough?"
msgstr "Sta installando l'abilità da skills.sh abbastanza?"

#. {ph0}: <a href="#install">
#. {ph1}: </a>
#: website/public/faq/index.html:312
#, 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 ""
"L'abilità dà le istruzioni di indagine agente. Eseguire {ph0} Configurazione"
" REA{ph1} per collegare il server MCP e installare l'abilità corrispondente,"
" quindi riavviare l'agente in modo che possa chiamare gli strumenti."

#: website/public/faq/index.html:323
msgctxt "page:faq/index.html"
msgid "Analysis"
msgstr "Analisi"

#: website/public/faq/index.html:326
msgctxt "page:faq/index.html"
msgid "What can I analyze with REA?"
msgstr "Cosa posso analizzare con REA ?"

#: website/public/faq/index.html:327
msgctxt "page:faq/index.html"
msgid "Start with the kind of software you have:"
msgstr "Inizia con il tipo di software che hai:"

#. {ph0}: <a href="../guides/native/" >
#. {ph1}: </a >
#: website/public/faq/index.html:329
#, python-brace-format
msgctxt "page:faq/index.html"
msgid ""
"{ph0}Native executables and libraries{ph1}: functions, assembly, pseudocode "
"and references."
msgstr ""
"{ph0}Eseguibili e librerie native{ph1}: funzioni, assemblaggio, pseudocodice"
" e riferimenti."

#. {ph0}: <a href="../guides/javascript/" >
#. {ph1}: </a >
#: website/public/faq/index.html:334
#, python-brace-format
msgctxt "page:faq/index.html"
msgid ""
"{ph0}JavaScript and Electron apps{ph1}: modules, imports, IPC and source "
"locations."
msgstr ""
"{ph0} Applicazioni JavaScript e Electron{ph1}: moduli, importazioni, IPC e "
"posizioni di origine."

#. {ph0}: <a href="../guides/browser/">
#. {ph1}: </a>
#: website/public/faq/index.html:339
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Browser pages{ph1}: scripts, requests and runtime observations."
msgstr ""
"{ph0}Pagine del browser{ph1}: script, richieste e osservazioni di runtime."

#. {ph0}: <a href="../showcase/">
#. {ph1}: </a>
#: website/public/faq/index.html:344
#, 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 ha anche flussi di lavoro per assembly gestiti, APK Android, firmware e "
"risorse pacchettizzate. {ph0}Vedi i casi di studio{ph1} per le indagini "
"lavorate."

#: website/public/faq/index.html:352
msgctxt "page:faq/index.html"
msgid "Do I need Hopper, Ghidra or IDA?"
msgstr "Ho bisogno di Hopper, Ghidra o IDA ?"

#: website/public/faq/index.html:353
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 ""
"L'analisi approfondita dei programmi di codice macchina utilizza uno di "
"essi. Static JavaScript e. NET lavoro di ispezione con i file forniti e non "
"hanno bisogno di un'analisi del motore di programmi di codice macchina."

#. {ph0}: <a href="../get-started/#native">
#. {ph1}: </a>
#: website/public/faq/index.html:358
#, 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 ""
"Collega l'installazione Ghidra o IDA esistente oppure lascia che setup "
"rilevi Hopper e proponga un'installazione. Il tuo host e target determinano "
"quale provider può essere utilizzato. {ph0}Impostare l'analisi dei programmi"
" di codice macchina{ph1}."

#: website/public/faq/index.html:366
msgctxt "page:faq/index.html"
msgid "Can I use REA without a coding agent?"
msgstr "Posso usare REA senza un agente di codifica?"

#: website/public/faq/index.html:367
msgctxt "page:faq/index.html"
msgid ""
"Yes. The CLI uses the same analysis workflows. For a local JavaScript or "
"Electron app:"
msgstr ""
"Sì. CLI utilizza gli stessi flussi di lavoro di analisi. Per un locale "
"JavaScript o Electron app:"

#: website/public/faq/index.html:373
msgctxt "page:faq/index.html"
msgid "Terminal · static application analysis"
msgstr "Terminale * analisi statica dell'applicazione"

#. {ph0}: <a href="../get-started/#terminal">
#. {ph1}: </a>
#: website/public/faq/index.html:386
#, 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 ""
"Sostituire il percorso con una cartella dell'applicazione estratta o un file"
" ASAR. {ph0}Utilizzare il CLI {ph1} per le opzioni di installazione."

# Reviewed for readable setup and analysis terminology.
#: website/public/faq/index.html:393
msgctxt "page:faq/index.html"
msgid "What code does REA return?"
msgstr "Quale codice restituisce REA?"

# Reviewed for readable setup and analysis terminology.
#: website/public/faq/index.html:394
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 ""
"L’analisi nativa restituisce assembly e pseudocodice, insieme a chiamate di "
"funzione, riferimenti e costanti rilevanti. L’analisi JavaScript restituisce"
" moduli, le loro relazioni e le posizioni nel codice sorgente."

#. {ph0}: <a href="../showcase/dx-ball/#sound-pan" >
#. {ph1}: </a >
#. {ph2}: <a href="../showcase/ctf/">
#. {ph3}: </a>
#: website/public/faq/index.html:399
#, 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 ""
"L'agente utilizza questi risultati per spiegare il comportamento o scrivere "
"e testare un'implementazione. Il {ph0} Calcolo DX-Ball{ph1} e {ph2}CTF flag "
"checker{ph3} mostra come funziona questo processo."

#: website/public/faq/index.html:410
msgctxt "page:faq/index.html"
msgid "What should I ask my agent?"
msgstr "Che cosa chiedo al mio agente?"

#: website/public/faq/index.html:411
msgctxt "page:faq/index.html"
msgid ""
"Give it a local target and one behavior to investigate. For a JavaScript or "
"Electron app:"
msgstr ""
"Dagli un obiettivo locale e un comportamento da indagare. Per un JavaScript "
"o Electron app:"

#. {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:417
#, 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}Il tuo agente di codifica"

#. {ph0}: <a href="../guides/">
#. {ph1}: </a>
#: website/public/faq/index.html:440
#, 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 ""
"Sostituisci il percorso con il tuo obiettivo. Il {ph0}guida{ph1} fornire "
"prompt per esempi nativi, Electron e browser."

#: website/public/faq/index.html:450
msgctxt "page:faq/index.html"
msgid "Troubleshooting"
msgstr "Risoluzione dei problemi"

#: website/public/faq/index.html:453
msgctxt "page:faq/index.html"
msgid "Why can't my agent see the REA tools?"
msgstr "Perché il mio agente non può vedere gli strumenti REA?"

#. {ph0}: <code>doctor</code>
#: website/public/faq/index.html:454
#, 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 ""
"Riavviare o ricollegare l'agente dopo l'installazione. Controlla la sua "
"registrazione REA con {ph0}; per Codex :"

#: website/public/faq/index.html:460
msgctxt "page:faq/index.html"
msgid "Terminal · check one client"
msgstr "Terminale * controllare un client"

#. {ph0}: <code>codex</code>
#. {ph1}: <code>claude_code</code>
#. {ph2}: <code>cursor</code>
#: website/public/faq/index.html:472
#, 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 ""
"Sostituire {ph0} con il tuo ID cliente, ad esempio {ph1} o {ph2}. Se il "
"report mostra una registrazione mancante o obsoleta, eseguire setup per quel"
" client:"

#: website/public/faq/index.html:480
msgctxt "page:faq/index.html"
msgid "Terminal · repair one client's setup"
msgstr "Terminale * riparare la configurazione di un cliente"

#. {ph0}: <a href="../get-started/#help">
#. {ph1}: </a>
#: website/public/faq/index.html:492
#, 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 ""
"Rivedere il suo piano e riavviare il client. Se la registrazione è sana ma "
"gli strumenti rimangono assenti, controllare l'errore di connessione MCP del"
" client. {ph0}Più diagnostica di configurazione{ph1}."

#: website/public/faq/index.html:500
msgctxt "page:faq/index.html"
msgid "Do I need to start Hopper first?"
msgstr "Devo iniziare prima Hopper?"

#. {ph0}: <a href="../get-started/#native">
#. {ph1}: </a >
#: website/public/faq/index.html:501
#, 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 avvia Hopper quando un'operazione ne ha bisogno. Su macOS, completa la "
"scelta di prima esecuzione della modalità demo o dell'attivazione della "
"licenza prima dell'analisi automatica. {ph0}Vedere configurazione provider "
"nativo{ph1}."

#: website/public/faq/index.html:510
msgctxt "page:faq/index.html"
msgid "What should I do if I hit a bug?"
msgstr "Che cosa faccio se trovo un bug?"

#. {ph0}: <a href="#update">
#. {ph1}: </a>
#: website/public/faq/index.html:511
#, 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}Aggiornamento REA {ph1}, riavvia il tuo agente e riprova lo stesso "
"compito. Una versione recente potrebbe già risolvere il problema."

#. {ph0}: <a href="https://github.com/morluto/rea/issues/new/choose" >
#. {ph1}: </a >
#: website/public/faq/index.html:515
#, 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 ""
"Se persiste, {ph0}apri un problema{ph1} con la versione REA, il sistema "
"operativo, il tipo di destinazione, i passaggi per riprodurre e l'output "
"degli errori. Includere il nome del provider quando il problema comporta "
"l'analisi dei programmi di codice macchina."

#: website/public/faq/index.html:529
msgctxt "page:faq/index.html"
msgid "Data and sharing"
msgstr "Dati e condivisione"

#: website/public/faq/index.html:532
msgctxt "page:faq/index.html"
msgid "Does REA upload my app?"
msgstr "REA carica la mia app?"

#: website/public/faq/index.html:533
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 analizza gli obiettivi sulla tua macchina. L'agente riceve i risultati e"
" la politica dei dati del fornitore del modello si applica a tali risultati."

#: website/public/faq/index.html:540
msgctxt "page:faq/index.html"
msgid "How can I share an example or contribute?"
msgstr "Come posso condividere un esempio o contribuire?"

#. {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:541
#, 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 ""
"Hai un utile esempio REA? Ci piacerebbe vederlo. Condividi l'obiettivo, la "
"tua domanda, i risultati e come li hai controllati in un {ph0}problema{ph1} "
"o {ph2}richiesta pull{ph3}. Brevi estratti di codice e figure aiutano gli "
"altri a seguire l'indagine."

#. {ph0}: <a href="https://discord.gg/GkcryMnJDM">
#. {ph1}: </a>
#: website/public/faq/index.html:553
#, 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 ""
"Anche segnalazioni di bug, richieste di funzionalità, documentazione e "
"miglioramenti del codice sono benvenuti. Puoi anche discutere un esempio nel"
" {ph0}comunità{ph1}."

#: website/public/faq/index.html:6
msgctxt "page:faq/index.html"
msgid "REA FAQ: Setup, Updates and Troubleshooting"
msgstr "REA FAQ: Configurazione, aggiornamenti e risoluzione dei problemi"

#: 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 ""
"Risposte alle domande comuni di REA: installazione, aggiornamenti, strumenti"
" di analisi, agenti di codifica, risoluzione dei problemi e esempi di "
"condivisione."

#: website/public/faq/index.html:204
msgctxt "page:faq/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/faq/index.html:213
msgctxt "page:faq/index.html"
msgid "Frequently asked questions about REA"
msgstr "Domande frequenti su REA"

#: website/public/faq/index.html:231
msgctxt "page:faq/index.html"
msgid "Copy REA setup command"
msgstr "Copia il comando di installazione REA"

#: website/public/faq/index.html:272
msgctxt "page:faq/index.html"
msgid "Copy REA update command"
msgstr "Copia il comando di aggiornamento REA"

#: website/public/faq/index.html:290
msgctxt "page:faq/index.html"
msgid "Copy agent setup refresh command"
msgstr "Copy agent setup refresh command"

#: website/public/faq/index.html:374
msgctxt "page:faq/index.html"
msgid "Copy REA CLI analysis command"
msgstr "Copia il comando di analisi REA CLI"

#: website/public/faq/index.html:421
msgctxt "page:faq/index.html"
msgid "Copy example analysis prompt"
msgstr "Copia esempio prompt di analisi"

#: website/public/faq/index.html:461
msgctxt "page:faq/index.html"
msgid "Copy client diagnosis command"
msgstr "Copia comando diagnosi client"

#: website/public/faq/index.html:481
msgctxt "page:faq/index.html"
msgid "Copy scoped setup command"
msgstr "Copy scoped setup comando"

#: website/public/faq/index.html:579
msgctxt "page:faq/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/first-investigation/index.html:107
msgctxt "page:first-investigation/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/first-investigation/index.html:199
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "{ph0}Home{ph1} / Your first investigation"
msgstr "{ph0}Casa{ph1}  La tua prima indagine"

#. {ph0}: <br />
#: website/public/first-investigation/index.html:202
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "Find out where{ph0}exported notes go."
msgstr "Scopri dove{ph0}le note esportate vanno."

#: website/public/first-investigation/index.html:203
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 ""
"Usa REA per ispezionare una piccola app, segui il pulsante Esporta note e "
"controlla tu stesso un dettaglio."

#: website/public/first-investigation/index.html:214
msgctxt "page:first-investigation/index.html"
msgid "In this exercise"
msgstr "In questo esercizio"

#. {ph0}: <a href="#setup">
#. {ph1}: </a>
#: website/public/first-investigation/index.html:216
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "{ph0}1. Set up{ph1}"
msgstr "{ph0}1. Istituire{ph1}"

#. {ph0}: <a href="#ask">
#. {ph1}: </a>
#: website/public/first-investigation/index.html:217
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "{ph0}2. Ask about export{ph1}"
msgstr "{ph0}2. Chiedi informazioni sull'esportazione{ph1}"

#. {ph0}: <a href="#answer">
#. {ph1}: </a>
#: website/public/first-investigation/index.html:218
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "{ph0}3. Follow the answer{ph1}"
msgstr "{ph0}3. Segui la risposta{ph1}"

#. {ph0}: <a href="#check">
#. {ph1}: </a>
#: website/public/first-investigation/index.html:219
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "{ph0}4. Check a prediction{ph1}"
msgstr "{ph0}4. Controllare una previsione{ph1}"

#. {ph0}: <a href="#next">
#. {ph1}: </a>
#: website/public/first-investigation/index.html:220
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "{ph0}5. Ask another question{ph1}"
msgstr "{ph0}5. Fai un'altra domanda{ph1}"

#: website/public/first-investigation/index.html:225
msgctxt "page:first-investigation/index.html"
msgid "1. Connect your agent to REA"
msgstr "1. Connetti il tuo agente a 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:234
#: website/public/first-investigation/index.html:284
#: website/public/first-investigation/index.html:406
#, 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}Il tuo agente di codifica"

#: website/public/first-investigation/index.html:239
#: website/public/first-investigation/index.html:261
#: website/public/first-investigation/index.html:289
#: website/public/first-investigation/index.html:411
#: website/public/first-investigation/index.html:452
#: website/public/first-investigation/index.html:469
msgctxt "page:first-investigation/index.html"
msgid "Copy"
msgstr "Copia"

#: website/public/first-investigation/index.html:258
msgctxt "page:first-investigation/index.html"
msgid "Or run this command in your terminal:"
msgstr "Oppure esegui questo comando nel tuo terminale:"

#: website/public/first-investigation/index.html:270
msgctxt "page:first-investigation/index.html"
msgid ""
"Review the plan, approve the setup, then restart your agent. Already "
"connected? Continue below."
msgstr ""
"Rivedere il piano, approvare la configurazione, quindi riavviare l'agente. "
"Sei già connesso? Continua sotto."

#: website/public/first-investigation/index.html:276
msgctxt "page:first-investigation/index.html"
msgid "2. Ask where the CSV is written"
msgstr "2. Chiedi dove è scritto CSV"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/first-investigation/index.html:277
#, 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 ""
"L'esempio è un'app Electron a sei file con un {ph0}Note di esportazione{ph1}"
" pulsante. L'agente può ispezionare il codice senza installare o avviare "
"Electron ."

#: website/public/first-investigation/index.html:312
msgctxt "page:first-investigation/index.html"
msgid ""
"Your agent downloads the files and gives the unpacked folder to REA for "
"inspection."
msgstr ""
"L'agente scarica i file e fornisce la cartella decompressa a REA per "
"l'ispezione."

#. {ph0}: <a class="button" href="../examples/notes-example.zip"
#. download="notes-example.zip" >
#. {ph1}: </a >
#: website/public/first-investigation/index.html:316
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "{ph0}Download example ZIP{ph1}"
msgstr "{ph0}Scarica esempio ZIP{ph1}"

#. {ph0}: <code>notes-example</code>
#: website/public/first-investigation/index.html:324
#, 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 ""
"Se il tuo agente non riesce a scaricare i file, decomprimi tu stesso questo "
"archivio. Dare il percorso per il {ph0} cartella e la stessa domanda di "
"esportazione."

#: website/public/first-investigation/index.html:331
msgctxt "page:first-investigation/index.html"
msgid "3. Follow the answer back to the code"
msgstr "3. Segui la risposta al codice"

#: website/public/first-investigation/index.html:332
msgctxt "page:first-investigation/index.html"
msgid "Look for a short explanation with file and line references:"
msgstr "Cerca una breve spiegazione con riferimenti a file e righe:"

#. {ph0}: <code>notes:export</code>
#. {ph1}: <code>notes.csv</code>
#. {ph2}: <code>id</code>
#. {ph3}: <code>title</code>
#: website/public/first-investigation/index.html:334
#, 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 ""
"Il pulsante invia un {ph0} messaggio. Il processo principale formatta le "
"note come CSV e scrive {ph1} nella cartella Download dell'utente. Le colonne"
" sono {ph2} e {ph3}."

#: website/public/first-investigation/index.html:342
msgctxt "page:first-investigation/index.html"
msgid "From the button to the file writer"
msgstr "Dal pulsante al file writer"

#: website/public/first-investigation/index.html:371
msgctxt "page:first-investigation/index.html"
msgid ""
"REA’s static analysis pairs the message with its handler. The destination is"
" read from code."
msgstr ""
"L'analisi statica di REA associa il messaggio al suo gestore. La "
"destinazione viene letta dal codice."

#: website/public/first-investigation/index.html:387
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 ""
"Il percorso del file, il formatter e la chiamata di scrittura sono insieme "
"in questo gestore. Chiedi al tuo agente di mostrare queste righe se la sua "
"risposta le lascia fuori."

#. {ph0}: <a href="../guides/javascript/#follow" >
#. {ph1}: </a >
#: website/public/first-investigation/index.html:392
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "{ph0}See the full code trace and recorded REA result{ph1}."
msgstr ""
"{ph0}Vedere la traccia completa del codice e il risultato REA "
"registrato{ph1}."

#: website/public/first-investigation/index.html:399
msgctxt "page:first-investigation/index.html"
msgid "4. Check a prediction"
msgstr "4. Controllare una previsione"

#: website/public/first-investigation/index.html:400
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 ""
"Una virgola separa le colonne CSV. Cosa succede quando il titolo di una nota"
" contiene una virgola o virgolette?"

#: website/public/first-investigation/index.html:444
msgctxt "page:first-investigation/index.html"
msgid "Run the check yourself"
msgstr "Esegui il controllo da solo"

#. {ph0}: <code>notes-example</code>
#: website/public/first-investigation/index.html:445
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "Open a terminal in the unpacked {ph0} folder:"
msgstr "Aprire un terminale nel disimballato {ph0} cartella:"

#: website/public/first-investigation/index.html:486
msgctxt "page:first-investigation/index.html"
msgid "5. Ask another question"
msgstr "5. Fai un'altra domanda"

#: website/public/first-investigation/index.html:487
msgctxt "page:first-investigation/index.html"
msgid "Try a follow-up in the same conversation:"
msgstr "Prova un follow-up nella stessa conversazione:"

#: website/public/first-investigation/index.html:489
msgctxt "page:first-investigation/index.html"
msgid ""
"What happens if the file can’t be written? Follow the error back to the "
"page."
msgstr ""
"Cosa succede se il file non può essere scritto? Seguire l'errore torna alla "
"pagina."

#: website/public/first-investigation/index.html:494
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 ""
"Oppure dai al tuo agente un'app tutta tua e chiedi informazioni su un "
"pulsante, un file o un comportamento."

#. {ph0}: <a href="../showcase/notion/">
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/first-investigation/index.html:499
#, 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}Come Notion copia testo e HTML{ph1}{ph2}Seguire una funzione di appunti"
" in un pacchetto Electron app.{ph3}"

#. {ph0}: <a href="../showcase/dx-ball/" >
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/first-investigation/index.html:505
#, 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}Come DX-Ball calcola il posizionamento del suono stereo{ph1}{ph2}Leggi "
"le istruzioni originali e le verifiche della ricostruzione.{ph3}"

#. {ph0}: <a href="../faq/#troubleshooting" >
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/first-investigation/index.html:513
#, 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}Risoluzione dei problemi di configurazione o analisi{ph1}{ph2}Aggiorna "
"REA e controlla la connessione se rimani bloccato.{ph3}"

#: website/public/first-investigation/index.html:6
msgctxt "page:first-investigation/index.html"
msgid "Your First Reverse Engineering Investigation — REA"
msgstr "La tua prima indagine di Reverse engineering-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 ""
"Prova REA su una piccola app Note. Imposta il tuo agente, chiedi dove vanno "
"le note esportate e controlla il formatter CSV con un titolo di esempio."

#: website/public/first-investigation/index.html:213
msgctxt "page:first-investigation/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/first-investigation/index.html:223
msgctxt "page:first-investigation/index.html"
msgid "Your first REA investigation"
msgstr "La tua prima indagine REA"

#: website/public/first-investigation/index.html:239
msgctxt "page:first-investigation/index.html"
msgid "Copy REA installation prompt"
msgstr "Copia REA prompt di installazione"

#: website/public/first-investigation/index.html:261
msgctxt "page:first-investigation/index.html"
msgid "Copy setup command"
msgstr "Copia comando setup"

#: website/public/first-investigation/index.html:289
msgctxt "page:first-investigation/index.html"
msgid "Copy Notes investigation prompt"
msgstr "Copia note richiesta di indagine"

#: website/public/first-investigation/index.html:411
msgctxt "page:first-investigation/index.html"
msgid "Copy CSV check prompt"
msgstr "Copia CSV prompt di controllo"

#: website/public/first-investigation/index.html:452
#: website/public/first-investigation/index.html:469
msgctxt "page:first-investigation/index.html"
msgid "Copy formatter check command"
msgstr "Comando Copia formatter check"

#: website/public/first-investigation/index.html:540
msgctxt "page:first-investigation/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/get-started/index.html:107
msgctxt "page:get-started/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/get-started/index.html:199
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Home{ph1} / Get started"
msgstr "{ph0}Casa{ph1} / Inizia"

#: website/public/get-started/index.html:200
msgctxt "page:get-started/index.html"
msgid "Set up REA."
msgstr "Impostare REA ."

#: website/public/get-started/index.html:265
msgctxt "page:get-started/index.html"
msgid "Open a terminal and check:"
msgstr "Aprire un terminale e controllare:"

#: website/public/get-started/index.html:268
msgctxt "page:get-started/index.html"
msgid "Terminal"
msgstr "Terminale"

#: website/public/get-started/index.html:269
#: website/public/get-started/index.html:292
#: website/public/get-started/index.html:322
#: website/public/get-started/index.html:347
#: website/public/get-started/index.html:370
#: website/public/get-started/index.html:385
#: website/public/get-started/index.html:419
#: website/public/get-started/index.html:450
#: website/public/get-started/index.html:464
#: website/public/get-started/index.html:482
#: website/public/get-started/index.html:534
#: website/public/get-started/index.html:548
#: website/public/get-started/index.html:580
#: website/public/get-started/index.html:609
#: website/public/get-started/index.html:744
#: website/public/get-started/index.html:774
#: website/public/get-started/index.html:799
#: website/public/get-started/index.html:814
#: website/public/get-started/index.html:862
#: website/public/get-started/index.html:895
#: website/public/get-started/index.html:1047
#: website/public/get-started/index.html:1109
#: website/public/get-started/index.html:1132
#: website/public/get-started/index.html:1156
#: website/public/get-started/index.html:1204
#: website/public/get-started/index.html:1279
#: website/public/get-started/index.html:1305
#: website/public/get-started/index.html:1322
#: website/public/get-started/index.html:1565
#: website/public/get-started/index.html:1624
#: website/public/get-started/index.html:1643
#: website/public/get-started/index.html:1665
#: website/public/get-started/index.html:1708
#: website/public/get-started/index.html:1738
#: website/public/get-started/index.html:1759
msgctxt "page:get-started/index.html"
msgid "Copy"
msgstr "Copia"

#. {ph0}: <code>node -v</code>
#: website/public/get-started/index.html:303
#, 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 ""
"Digitare Y se viene chiesto di accettare i termini. Chiudere PowerShell, "
"aprirlo di nuovo, quindi eseguire {ph0}."

#. {ph0}: <code>nodejs</code>
#. {ph1}: <code>node -v</code>
#: website/public/get-started/index.html:398
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Your distribution's own {ph0} package is often older than 22.23.4, so check "
"{ph1} if you use it instead."
msgstr ""
"La tua distribuzione {ph0} il pacchetto è spesso più vecchio di 22.23.4, "
"quindi controlla {ph1} se invece lo usi."

#. {ph0}: <a href="https://nodejs.org/en/download">
#. {ph1}: </a>
#: website/public/get-started/index.html:404
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Prefer a regular installer? Download the LTS version from "
"{ph0}nodejs.org{ph1}."
msgstr ""
"Preferisci un normale installatore? Scarica la versione LTS da "
"{ph0}nodejs.org{ph1}."

#. {ph0}: <a href="#terminal">
#. {ph1}: </a>
#: website/public/get-started/index.html:219
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Use the CLI{ph1}"
msgstr "{ph0}Utilizzare il CLI {ph1}"

#. {ph0}: <a href="#help">
#. {ph1}: </a>
#: website/public/get-started/index.html:220
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Getting help{ph1}"
msgstr "{ph0}Ottenere aiuto{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/get-started/index.html:769
#, 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}Il tuo agente di programmazione"

#: website/public/get-started/index.html:795
msgctxt "page:get-started/index.html"
msgid "Or run setup yourself"
msgstr "O eseguire l'installazione da soli"

#: website/public/get-started/index.html:231
msgctxt "page:get-started/index.html"
msgid "How do I open a terminal?"
msgstr "Come faccio ad aprire un terminale?"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <em>
#. {ph3}: </em>
#: website/public/get-started/index.html:233
#, 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} aprire il menu Start, digitare {ph2}PowerShell{ph3} e "
"premere Invio."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <kbd>⌘</kbd>
#. {ph3}: <kbd>Space</kbd>
#. {ph4}: <em>
#. {ph5}: </em>
#: website/public/get-started/index.html:237
#, 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} premi {ph2} {ph3}, digita {ph4}Terminal{ph5} e premi Enter."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <kbd>Ctrl</kbd>
#. {ph3}: <kbd>Alt</kbd>
#. {ph4}: <kbd>T</kbd>
#: website/public/get-started/index.html:241
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Linux:{ph1} press {ph2} {ph3} {ph4} on most desktops."
msgstr ""
"{ph0} Linux :{ph1} premere {ph2} {ph3} {ph4} sulla maggior parte dei "
"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:246
#, 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 ""
"Incolla un comando con {ph0} {ph1} ( macOS : {ph2} {ph3}; Terminali Linux: "
"{ph4} {ph5} {ph6}), quindi premere Invio."

#: website/public/get-started/index.html:831
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 ""
"Scegli l'applicazione dell'agente e controlla il piano di configurazione. "
"REA aggiunge la connessione MCP e la skill di analisi corrispondente, "
"conservando una copia della configurazione esistente. Chiede conferma prima "
"di applicare le modifiche."

#: website/public/get-started/index.html:845
msgctxt "page:get-started/index.html"
msgid "How do I restart my client?"
msgstr "Come riavvio l'applicazione dell'agente?"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <kbd>⌘</kbd>
#. {ph3}: <kbd>Q</kbd>
#: website/public/get-started/index.html:846
#, 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}Applicazioni desktop{ph1} (Claude Desktop, Cursor , Windsurf , VS Code "
"): esci completamente dall'app, quindi aprila di nuovo. Chiudere la finestra"
" non basta. Su macOS premere {ph2} {ph3}; su Windows, esci anche dall'icona "
"del vassoio se ce n'è uno."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/get-started/index.html:853
#, 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}Agenti terminali{ph1} (Claude Code , Codex , Gemini CLI ): uscire dalla"
" sessione e riavviarla."

#: website/public/get-started/index.html:957
msgctxt "page:get-started/index.html"
msgid "How do I get a folder's full path?"
msgstr "Come ottengo il percorso completo di una cartella?"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <em>
#. {ph3}: </em>
#: website/public/get-started/index.html:959
#, 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} in Esplora file, fare clic con il pulsante destro del "
"mouse sulla cartella e scegliere {ph2}Copia come percorso{ph3}. Su Windows "
"10, tenere premuto Maiusc mentre si fa clic con il pulsante destro del "
"mouse."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <em>
#. {ph3}: </em>
#: website/public/get-started/index.html:964
#, 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} nel Finder, fare clic destro sulla cartella, tenere "
"premuto Opzione e scegliere {ph2}Copia \" ... \" come percorso{ph3}."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/get-started/index.html:968
#, 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}Qualsiasi sistema:{ph1} trascinare la cartella in una finestra di "
"terminale e il suo percorso appare."

#: website/public/get-started/index.html:973
#: website/public/get-started/index.html:1731
msgctxt "page:get-started/index.html"
msgid "In a terminal, put quotes around a path that contains spaces."
msgstr ""
"In un terminale, metti le virgolette attorno a un percorso che contiene "
"spazi."

#: website/public/get-started/index.html:1558
msgctxt "page:get-started/index.html"
msgid ""
"Analyze a JavaScript or Electron application folder or ASAR archive without "
"running the app:"
msgstr ""
"Analizzare una cartella dell'applicazione JavaScript o Electron o un "
"archivio ASAR senza eseguire l'app:"

#: website/public/get-started/index.html:1564
msgctxt "page:get-started/index.html"
msgid "Static application analysis"
msgstr "Analisi statica delle applicazioni"

#. {ph0}: <code>.asar</code>
#. {ph1}: <code>"D:/apps/example"</code>
#: website/public/get-started/index.html:1576
#, 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 ""
"Sostituire il percorso con la directory dell'app estratta o {ph0} file. Su "
"Windows, un percorso come {ph1} funziona qui."

#: website/public/get-started/index.html:1582
msgctxt "page:get-started/index.html"
msgid "Where do I find an app's .asar file?"
msgstr "Dove trovo il file .asar di un'app?"

#. {ph0}: <code>resources</code>
#: website/public/get-started/index.html:1583
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "Electron apps usually keep it in a {ph0} folder:"
msgstr "Electron apps di solito tenerlo in un {ph0} cartella:"

#. {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:1588
#, 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:1594
#, 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} (fai clic destro sull'app e scegli {ph3}Mostra "
"contenuto pacchetto{ph4})"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>/opt/&lt;App&gt;/resources/app.asar</code>
#: website/public/get-started/index.html:1602
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Linux:{ph1} often {ph2}"
msgstr "{ph0} Linux :{ph1} spesso {ph2}"

#. {ph0}: <code>app.asar</code>
#: website/public/get-started/index.html:1607
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "Some apps install elsewhere. Search the app's folder for {ph0}."
msgstr ""
"Alcune app si installano altrove. Cerca nella cartella dell'app per {ph0}."

#: website/public/get-started/index.html:1612
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 ""
"Il risultato identifica l'app, mostra le connessioni tra i moduli e fornisce"
" le loro posizioni di origine. Le connessioni che REA non può risolvere sono"
" contrassegnate nel risultato."

#. {ph0}: <code>rea</code>
#: website/public/get-started/index.html:1617
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "If you'd like a permanent {ph0} command in your shell:"
msgstr "Se vuoi un permanente {ph0} comando nella tua shell:"

#: website/public/get-started/index.html:1623
msgctxt "page:get-started/index.html"
msgid "Install the CLI"
msgstr "Installare il CLI"

#. {ph0}: <a href="../guides/javascript/" >
#. {ph1}: </a >
#: website/public/get-started/index.html:1635
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Continue with the JavaScript application guide{ph1}"
msgstr "{ph0}Continuare con la guida all'applicazione JavaScript{ph1}"

#: website/public/get-started/index.html:1152
msgctxt "page:get-started/index.html"
msgid "Connect your Ghidra installation"
msgstr "Collegare l'installazione Ghidra"

#: website/public/get-started/index.html:1122
msgctxt "page:get-started/index.html"
msgid "Connect Ghidra on Windows"
msgstr "Collegare Ghidra su Windows"

#: website/public/get-started/index.html:1123
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 offre supporto sperimentale di sola lettura per applicazioni e "
"DLL native x86 e x64 in formato PE su unità NTFS locali fisse. Usa "
"un'installazione esistente di Ghidra 12.1.x e un JDK a 64 bit, versione 21 o"
" successiva:"

#: website/public/get-started/index.html:1146
msgctxt "page:get-started/index.html"
msgid ""
"Replace the two paths with your installations, then review setup's plan."
msgstr ""
"Sostituire i due percorsi con le installazioni, quindi rivedere il piano di "
"installazione."

#: website/public/get-started/index.html:1028
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 ""
"Collegare Hopper su macOS o Linux . Eseguire il comando setup sopra; rileva "
"un'installazione esistente o offre un piano di installazione per "
"l'approvazione."

#: website/public/get-started/index.html:1689
msgctxt "page:get-started/index.html"
msgid "Getting help"
msgstr "Ottenere aiuto"

#: website/public/get-started/index.html:1691
msgctxt "page:get-started/index.html"
msgid "If your agent doesn't see REA"
msgstr "Se il tuo agente non vede REA"

#. {ph0}: <code>doctor</code>
#: website/public/get-started/index.html:1692
#, 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 ""
"Riavviare o ricollegare il client dopo l'installazione. Controlla la sua "
"connessione REA con {ph0}; per Codex :"

#: website/public/get-started/index.html:1703
msgctxt "page:get-started/index.html"
msgid "If a provider needs attention"
msgstr "Se un fornitore ha bisogno di attenzione"

#: website/public/get-started/index.html:1704
msgctxt "page:get-started/index.html"
msgid "Check the provider you're using. For Ghidra:"
msgstr "Controlla il provider che stai utilizzando. Per Ghidra :"

#: website/public/get-started/index.html:1707
msgctxt "page:get-started/index.html"
msgid "Check one provider"
msgstr "Controllare un provider"

#: website/public/get-started/index.html:1719
msgctxt "page:get-started/index.html"
msgid "The report gives the failed check and a suggested next step."
msgstr ""
"Il rapporto fornisce il controllo non riuscito e un passo successivo "
"suggerito."

#. {ph0}: <a href="../faq/">
#. {ph1}: </a >
#. {ph2}: <span>
#. {ph3}: </span>
#: website/public/get-started/index.html:1784
#, 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} Domande FREQUENTI SU REA{ph1}{ph2}Risposte rapide su aggiornamenti, "
"agenti e analisi.{ph3}"

#. {ph0}: <a href="../guides/">
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/get-started/index.html:1788
#, 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}Scegli una guida all'indagine{ph1}{ph2}Esempi funzionanti per un "
"binario, un'app Electron e un browser.{ph3}"

#. {ph0}: <a href="https://github.com/morluto/rea/issues">
#. {ph1}: </a >
#. {ph2}: <span>
#. {ph3}: </span>
#: website/public/get-started/index.html:1795
#, 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} Problemi GitHub{ph1}{ph2}Segnalare un problema con il comando e la "
"diagnostica.{ph3}"

#. {ph0}: <a href="https://discord.gg/GkcryMnJDM">
#. {ph1}: </a >
#. {ph2}: <span>
#. {ph3}: </span>
#: website/public/get-started/index.html:1799
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"{ph0}REA community{ph1}{ph2}Questions, investigations and work in "
"progress.{ph3}"
msgstr "{ph0} Comunità REA{ph1}{ph2}Domande, indagini e lavori in corso.{ph3}"

#: website/public/get-started/index.html:6
msgctxt "page:get-started/index.html"
msgid "Install REA and Set Up Your Coding Agent"
msgstr "Installa REA e configura il tuo agente di programmazione"

#: 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 ""
"Collega REA al tuo agente di codifica o ispeziona un'app JavaScript o "
"Electron locale dal terminale. Configurazione, prime domande e guide native "
"provider."

#: website/public/get-started/index.html:269
msgctxt "page:get-started/index.html"
msgid "Copy Node.js version check"
msgstr "Copia controllo versione Node.js"

#: website/public/get-started/index.html:292
msgctxt "page:get-started/index.html"
msgid "Copy Node.js installation command for Windows"
msgstr "Copia il comando di installazione Node.js per Windows"

#: website/public/get-started/index.html:347
msgctxt "page:get-started/index.html"
msgid "Copy Homebrew Node.js installation command"
msgstr "Copia il comando di installazione Homebrew Node.js"

#: website/public/get-started/index.html:370
msgctxt "page:get-started/index.html"
msgid "Copy fnm installation command for Linux"
msgstr "Copia il comando di installazione fnm per Linux"

#: website/public/get-started/index.html:385
msgctxt "page:get-started/index.html"
msgid "Copy Node.js 24 commands for Linux"
msgstr "Copia i comandi Node.js 24 per Linux"

#: website/public/get-started/index.html:212
#: website/public/get-started/index.html:211
msgctxt "page:get-started/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/get-started/index.html:223
msgctxt "page:get-started/index.html"
msgid "REA getting started guide"
msgstr "REA guida introduttiva"

#: website/public/get-started/index.html:774
msgctxt "page:get-started/index.html"
msgid "Copy REA installation prompt"
msgstr "Copia REA prompt di installazione"

#: website/public/get-started/index.html:1565
msgctxt "page:get-started/index.html"
msgid "Copy JavaScript analysis command"
msgstr "Copia il comando di analisi JavaScript"

#: website/public/get-started/index.html:1624
msgctxt "page:get-started/index.html"
msgid "Copy CLI installation command"
msgstr "Copia il comando di installazione CLI"

#: website/public/get-started/index.html:1708
msgctxt "page:get-started/index.html"
msgid "Copy provider diagnosis command"
msgstr "Copia il comando di diagnosi del provider"

#: website/public/get-started/index.html:1823
msgctxt "page:get-started/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/guides/browser/index.html:107
msgctxt "page:guides/browser/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/guides/browser/index.html:199
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "{ph0}Home{ph1} / {ph2}Guides{ph3} / Browser observation"
msgstr "{ph0}Casa{ph1} / {ph2}Guida{ph3} / Osservazione del browser"

#. {ph0}: <br />
#: website/public/guides/browser/index.html:203
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "See what happens{ph0}when you click."
msgstr "Vedi cosa succede{ph0}quando si fa clic."

#: website/public/guides/browser/index.html:204
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 ""
"Utilizzare una piccola applicazione browser per collegare un'azione, la sua "
"richiesta di rete e il JavaScript che costruisce un download."

#: website/public/guides/browser/index.html:211
msgctxt "page:guides/browser/index.html"
msgid "In this guide"
msgstr "In questa guida"

#. {ph0}: <a href="#example">
#. {ph1}: </a>
#: website/public/guides/browser/index.html:213
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "{ph0}The example{ph1}"
msgstr "{ph0}Esempio{ph1}"

#. {ph0}: <a href="#prepare">
#. {ph1}: </a>
#: website/public/guides/browser/index.html:214
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "{ph0}Open the browser{ph1}"
msgstr "{ph0}Apri il browser{ph1}"

#. {ph0}: <a href="#ask">
#. {ph1}: </a>
#: website/public/guides/browser/index.html:215
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "{ph0}Ask your agent{ph1}"
msgstr "{ph0}Chiedi al tuo agente{ph1}"

#. {ph0}: <a href="#capture">
#. {ph1}: </a>
#: website/public/guides/browser/index.html:216
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "{ph0}Capture from CLI{ph1}"
msgstr "{ph0}Cattura da CLI {ph1}"

#. {ph0}: <a href="#result">
#. {ph1}: </a>
#: website/public/guides/browser/index.html:217
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "{ph0}Read the request and script{ph1}"
msgstr "{ph0}Leggi la richiesta e lo script{ph1}"

#: website/public/guides/browser/index.html:222
msgctxt "page:guides/browser/index.html"
msgid "What happens when you click Export?"
msgstr "Cosa succede quando fai clic su Esporta?"

#. {ph0}: <a href="../../examples/notes-web/">
#. {ph1}: </a>
#. {ph2}: <strong>
#. {ph3}: </strong>
#. {ph4}: <code>notes.json</code>
#: website/public/guides/browser/index.html:223
#, 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 ""
"Il {ph0}Esempio di browser{ph1} ha un {ph2}Note di esportazione{ph3} "
"pulsante. Cliccando carica {ph4}, formatta le due note come CSV, e avvia un "
"download."

#: website/public/guides/browser/index.html:231
msgctxt "page:guides/browser/index.html"
msgid "From the click to the CSV download"
msgstr "Dal clic al CSV scarica"

#. {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:233
#, 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 * Tu{ph1}{ph2}Fare clic su Esporta note{ph3}{ph4}Eseguire l'azione "
"nel browser mentre l'acquisizione è in esecuzione.{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:241
#, 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}Registra la richiesta{ph3}{ph4}Cattura l'URL della "
"richiesta, lo stato della risposta e la struttura JSON dalla pagina "
"selezionata.{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:249
#, 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 * Il tuo agente{ph1}{ph2}Leggi il codice di "
"esportazione{ph3}{ph4}Collegare la richiesta osservata a {ph5} in "
"{ph6}.{ph7}"

#: website/public/guides/browser/index.html:262
msgctxt "page:guides/browser/index.html"
msgid "Start the capture before clicking Export notes."
msgstr "Avviare l'acquisizione prima di fare clic su Esporta note."

#: website/public/guides/browser/index.html:268
msgctxt "page:guides/browser/index.html"
msgid "Open Chrome with remote debugging"
msgstr "Aprire Chrome con debug remoto"

#: website/public/guides/browser/index.html:269
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 ""
"Aprire l'esempio di Note ospitate con un profilo browser separato e una "
"porta di debug locale. Su Linux :"

#: website/public/guides/browser/index.html:275
msgctxt "page:guides/browser/index.html"
msgid "Start the example browser"
msgstr "Avviare il browser di esempio"

#: website/public/guides/browser/index.html:276
#: website/public/guides/browser/index.html:308
#: website/public/guides/browser/index.html:342
#: website/public/guides/browser/index.html:361
#: website/public/guides/browser/index.html:426
msgctxt "page:guides/browser/index.html"
msgid "Copy"
msgstr "Copia"

#: website/public/guides/browser/index.html:290
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 ""
"Utilizzare il percorso eseguibile del browser installato su macOS o Windows "
". È possibile sostituire l'URL della pagina con un'altra pagina che si "
"desidera ispezionare."

#: website/public/guides/browser/index.html:295
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 si connette a questo browser esistente. Mantieni il controllo della "
"pagina, esegui l'azione e chiudi il browser al termine."

#: website/public/guides/browser/index.html:301
msgctxt "page:guides/browser/index.html"
msgid "Ask your agent to watch one action"
msgstr "Chiedi al tuo agente di guardare un'azione"

#. {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:304
#, 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}Il tuo agente di codifica"

#. {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:317
#, 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}Utilizzare REA per ispezionare questa pagina mentre faccio "
"clic su Esporta note. Che richiesta fa e come viene costruito il "
"CSV?{ph3}{ph4}{ph5}"

#. {ph0}: <code>http://127.0.0.1:9222</code>
#: website/public/guides/browser/index.html:325
#, 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 ""
"Esempio prompt. Fornisci al tuo agente l'endpoint di debug, {ph0}, e l'URL "
"della pagina. Lascia che inizi la cattura prima di fare clic."

#: website/public/guides/browser/index.html:330
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 ""
"Il tuo agente scopre l'obiettivo della pagina, avvia una finestra di "
"osservazione e legge le prove risultanti. Può quindi ispezionare lo script "
"dietro l'esportazione."

#: website/public/guides/browser/index.html:337
msgctxt "page:guides/browser/index.html"
msgid "Or capture from the terminal"
msgstr "O cattura dal terminale"

#: website/public/guides/browser/index.html:338
msgctxt "page:guides/browser/index.html"
msgid "Find the page's target ID:"
msgstr "Trova l'ID di destinazione della pagina:"

#: website/public/guides/browser/index.html:341
msgctxt "page:guides/browser/index.html"
msgid "Find the page"
msgstr "Trova la pagina"

#. {ph0}: <code>TARGET_ID</code>
#: website/public/guides/browser/index.html:354
#, 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 ""
"Scegli la destinazione con l'URL di esempio Notes. Sostituire {ph0} sotto "
"con il suo ID, quindi esegui:"

#: website/public/guides/browser/index.html:360
msgctxt "page:guides/browser/index.html"
msgid "Capture the next ten seconds"
msgstr "Cattura i prossimi dieci secondi"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/browser/index.html:376
#, 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 ""
"Lasciare che il comando si connetta per alcuni secondi, quindi fare clic su "
"{ph0}Note di esportazione{ph1} in quel browser. Il risultato arriva dopo la "
"fine della finestra di osservazione."

#: website/public/guides/browser/index.html:381
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 ""
"Il risultato acquisito include la pagina selezionata, l'attività di rete "
"durante quella finestra e la forma della risposta JSON. Le richieste "
"precedenti sono al di fuori di questa acquisizione."

#: website/public/guides/browser/index.html:388
msgctxt "page:guides/browser/index.html"
msgid "Read the request and export script"
msgstr "Leggere lo script di richiesta ed esportazione"

#: website/public/guides/browser/index.html:391
msgctxt "page:guides/browser/index.html"
msgid "Recorded with REA 4.1.0 on the local Notes example"
msgstr "Registrato con REA 4.1.0 nell'esempio local Notes"

#: website/public/guides/browser/index.html:396
msgctxt "page:guides/browser/index.html"
msgid "Captured fact"
msgstr "Fatto catturato"

#: website/public/guides/browser/index.html:397
msgctxt "page:guides/browser/index.html"
msgid "Value"
msgstr "Valore"

#: website/public/guides/browser/index.html:402
msgctxt "page:guides/browser/index.html"
msgid "Request"
msgstr "Richiesta"

#: website/public/guides/browser/index.html:406
msgctxt "page:guides/browser/index.html"
msgid "Response"
msgstr "Risposta"

#: website/public/guides/browser/index.html:410
msgctxt "page:guides/browser/index.html"
msgid "Request initiator"
msgstr "Iniziatore della richiesta"

#. {ph0}: <code>export.js</code>
#: website/public/guides/browser/index.html:411
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "{ph0} · script"
msgstr "{ph0} · script"

#: website/public/guides/browser/index.html:414
msgctxt "page:guides/browser/index.html"
msgid "Response structure"
msgstr "Struttura di risposta"

#. {ph0}: <code>notes[]</code>
#. {ph1}: <code>id</code>
#. {ph2}: <code>title</code>
#: website/public/guides/browser/index.html:415
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "{ph0} with {ph1} and {ph2} fields"
msgstr "{ph0} con {ph1} e {ph2} campo"

#: website/public/guides/browser/index.html:425
msgctxt "page:guides/browser/index.html"
msgid "Read the loaded scripts"
msgstr "Leggi gli script caricati"

#. {ph0}: <code>export.js</code>
#: website/public/guides/browser/index.html:439
#, 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 ""
"La richiesta identifica l'origine dati e i record REA {ph0} come suo "
"iniziatore. Leggere l'origine dello script catturato per vedere come vengono"
" utilizzati i dati:"

#. {ph0}: <code>notes.json</code>
#: website/public/guides/browser/index.html:459
#, 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 ""
"Il download è costruito nella pagina utilizzando la risposta JSON. Il "
"passaggio di formattazione CSV viene dallo script; l'acquisizione di rete "
"stabilisce che questo clic richiesto {ph0}."

#. {ph0}: <code>notes.json</code>
#: website/public/guides/browser/index.html:475
#, 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 ""
"Trova lo script che richiede {ph0}. In che modo sfugge ai titoli contenenti "
"virgole o virgolette?"

#. {ph0}: <a href="../javascript/">
#. {ph1}: </a>
#: website/public/guides/browser/index.html:480
#, 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 ""
"Per un'app JavaScript o Electron installata, continuare con {ph0}flusso di "
"lavoro dell'applicazione{ph1} per seguire i confini dei file e dei processi."

#: website/public/guides/browser/index.html:6
msgctxt "page:guides/browser/index.html"
msgid "Browser and Network Analysis — REA"
msgstr "Analisi del browser e della rete-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 ""
"Osservare un'esportazione di note con REA: selezionare una pagina del "
"browser, catturare un clic, ispezionare la richiesta e seguire lo script di "
"esportazione."

#: website/public/guides/browser/index.html:210
msgctxt "page:guides/browser/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/guides/browser/index.html:220
msgctxt "page:guides/browser/index.html"
msgid "Browser observation"
msgstr "Osservazione del browser"

#: website/public/guides/browser/index.html:276
msgctxt "page:guides/browser/index.html"
msgid "Copy start the example browser"
msgstr "Copia avvia il browser di esempio"

#: website/public/guides/browser/index.html:308
msgctxt "page:guides/browser/index.html"
msgid "Copy example prompt"
msgstr "Copia esempio prompt"

#: website/public/guides/browser/index.html:342
msgctxt "page:guides/browser/index.html"
msgid "Copy find the page"
msgstr "Copia trova la pagina"

#: website/public/guides/browser/index.html:361
msgctxt "page:guides/browser/index.html"
msgid "Copy capture the next ten seconds"
msgstr "Copia cattura i prossimi dieci secondi"

#: website/public/guides/browser/index.html:426
msgctxt "page:guides/browser/index.html"
msgid "Copy read the loaded scripts"
msgstr "Copia leggi gli script caricati"

#: website/public/guides/browser/index.html:513
msgctxt "page:guides/browser/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/guides/index.html:107
msgctxt "page:guides/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/guides/index.html:199
#, python-brace-format
msgctxt "page:guides/index.html"
msgid "{ph0}Home{ph1} / Guides"
msgstr "{ph0}Casa{ph1} / Guida"

#: website/public/guides/index.html:200
msgctxt "page:guides/index.html"
msgid "REA guides."
msgstr "Guide REA."

#: website/public/guides/index.html:201
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 ""
"Analizzare una funzione nativa, un'esportazione Electron o una richiesta del"
" browser. Ogni guida include un prompt, codice e risultati."

#: website/public/guides/index.html:208
msgctxt "page:guides/index.html"
msgid "First investigation"
msgstr "Prima indagine"

#: website/public/guides/index.html:210
msgctxt "page:guides/index.html"
msgid "Set up REA"
msgstr "Impostare REA"

#: website/public/guides/index.html:211
msgctxt "page:guides/index.html"
msgid "Connect your coding agent or use REA from the terminal."
msgstr "Collega il tuo agente di codifica o usa REA dal terminale."

#: website/public/guides/index.html:212
msgctxt "page:guides/index.html"
msgid "Get started with REA"
msgstr "Inizia con REA"

#: website/public/guides/index.html:216
msgctxt "page:guides/index.html"
msgid "Native binaries"
msgstr "Programmi a codice macchina"

#: website/public/guides/index.html:218
msgctxt "page:guides/index.html"
msgid "Recover a sound-pan calculation"
msgstr "Recuperare un calcolo della posizione del suono sinistra/destra"

#: website/public/guides/index.html:219
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 ""
"Inizia con un eseguibile di gioco Windows. Ispezionare le istruzioni, "
"seguire un chiamante, leggere costanti numeriche e controllare il C "
"recuperato."

#: website/public/guides/index.html:229
msgctxt "page:guides/index.html"
msgid "Native analysis guide"
msgstr "Guida all'analisi dei programmi di codice macchina"

#: website/public/guides/index.html:233
msgctxt "page:guides/index.html"
msgid "JavaScript & Electron"
msgstr "JavaScript & Electron"

#: website/public/guides/index.html:235
msgctxt "page:guides/index.html"
msgid "Follow a CSV export"
msgstr "Seguire un'esportazione CSV"

#: website/public/guides/index.html:236
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 ""
"Un'app small Notes diffonde una funzione attraverso il renderer, il "
"precarico e il processo principale. Utilizzare REA per collegare l'API, il "
"canale IPC e il file writer."

#: website/public/guides/index.html:246
msgctxt "page:guides/index.html"
msgid "JavaScript & Electron guide"
msgstr "Guida di JavaScript & Electron"

#. {ph0}: <a href="../showcase/notion/">
#. {ph1}: </a>
#: website/public/guides/index.html:249
#, python-brace-format
msgctxt "page:guides/index.html"
msgid "For a larger packaged app, follow {ph0}Notion's clipboard bridge{ph1}."
msgstr ""
"Per un'app pacchettizzata più grande, segui {ph0} Ponte appunti di "
"Notion{ph1}."

#: website/public/guides/index.html:256
msgctxt "page:guides/index.html"
msgid "Browser behavior"
msgstr "Comportamento del browser"

#: website/public/guides/index.html:258
msgctxt "page:guides/index.html"
msgid "Observe a click"
msgstr "Osservare un clic"

#: website/public/guides/index.html:259
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 ""
"Aprire un esempio di Note di lavoro, acquisire una richiesta di esportazione"
" e trovare il codice che trasforma la sua risposta in un download."

#: website/public/guides/index.html:268
msgctxt "page:guides/index.html"
msgid "Browser observation guide"
msgstr "Guida all'osservazione del browser"

#: website/public/guides/index.html:6
msgctxt "page:guides/index.html"
msgid "Reverse Engineering Guides — REA"
msgstr "Guida al reverse engineering-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 ""
"Impara REA attraverso brevi esempi elaborati: un calcolo nativo, "
"un'esportazione Electron CSV e una richiesta del browser."

#: website/public/guides/index.html:288
msgctxt "page:guides/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/guides/javascript/index.html:107
msgctxt "page:guides/javascript/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/guides/javascript/index.html:199
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0}Home{ph1} / {ph2}Guides{ph3} / JavaScript & Electron"
msgstr "{ph0}Casa{ph1} / {ph2}Guida{ph3} / JavaScript & Electron"

#. {ph0}: <br />
#: website/public/guides/javascript/index.html:203
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "Trace an Electron{ph0}CSV export."
msgstr "Traccia un Electron {ph0} Esportazione CSV."

#: website/public/guides/javascript/index.html:204
msgctxt "page:guides/javascript/index.html"
msgid ""
"Follow a button click from the page API, through Electron IPC, to the CSV "
"file writer."
msgstr ""
"Segui un clic del pulsante dall'API della pagina, tramite Electron IPC, al "
"file writer CSV."

#: website/public/guides/javascript/index.html:211
msgctxt "page:guides/javascript/index.html"
msgid "In this guide"
msgstr "In questa guida"

#. {ph0}: <a href="#example">
#. {ph1}: </a>
#: website/public/guides/javascript/index.html:213
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0}The example{ph1}"
msgstr "{ph0}Esempio{ph1}"

#. {ph0}: <a href="#ask">
#. {ph1}: </a>
#: website/public/guides/javascript/index.html:214
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0}Ask your agent{ph1}"
msgstr "{ph0}Chiedi al tuo agente{ph1}"

#. {ph0}: <a href="#follow">
#. {ph1}: </a>
#: website/public/guides/javascript/index.html:215
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0}Trace the export code{ph1}"
msgstr "{ph0}Traccia il codice di esportazione{ph1}"

#. {ph0}: <a href="#try">
#. {ph1}: </a>
#: website/public/guides/javascript/index.html:216
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0}Try the example{ph1}"
msgstr "{ph0}Prova l'esempio{ph1}"

#. {ph0}: <a href="#next">
#. {ph1}: </a>
#: website/public/guides/javascript/index.html:217
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0}Inspect the CSV writer{ph1}"
msgstr "{ph0}Ispezionare il writer CSV{ph1}"

#: website/public/guides/javascript/index.html:222
msgctxt "page:guides/javascript/index.html"
msgid "Where does “Export notes” go?"
msgstr "Dove vanno le \"note di esportazione\"?"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/javascript/index.html:223
#, 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 ""
"Questa guida utilizza una piccola app Electron. Scattandosi {ph0}Note di "
"esportazione{ph1} chiama un'API nella pagina, attraversa il processo "
"principale e scrive un CSV . Il comportamento è distribuito su più file."

#: website/public/guides/javascript/index.html:230
msgctxt "page:guides/javascript/index.html"
msgid "The CSV export across Electron processes"
msgstr "L'esportazione di CSV attraverso i processi 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:234
#, 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}Renderer → precarico{ph1}{ph2}{ph3}{ph4}{ph5}{ph6} chiama l'API esposta"
" da {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:242
#, 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}Tra processi{ph1}{ph2}{ph3}{ph4}{ph5}Il precarico richiama un canale "
"IPC: un messaggio denominato al processo principale.{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:250
#, 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}Processo principale{ph1}{ph2}Un gestore di esportazione{ph3}{ph4}{ph5} "
"gestisce quel canale e chiama il writer CSV.{ph6}"

#. {ph0}: <code>csv.js</code>
#. {ph1}: <code>main.js</code>
#. {ph2}: <code>downloads/notes.csv</code>
#: website/public/guides/javascript/index.html:259
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0} formats the notes → {ph1} writes {ph2}."
msgstr "{ph0} formatta le note → {ph1} scrivere {ph2}."

#: website/public/guides/javascript/index.html:263
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 corrisponde alla chiamata IPC letterale al suo gestore e identifica "
"l'API esposta. Il percorso è dedotto dal codice; un'acquisizione di runtime "
"può controllare ciò che viene eseguito."

#: website/public/guides/javascript/index.html:271
msgctxt "page:guides/javascript/index.html"
msgid "Ask about the CSV export"
msgstr "Chiedi informazioni sull'esportazione CSV"

#. {ph0}: <a href="../../get-started/#agent">
#. {ph1}: </a>
#: website/public/guides/javascript/index.html:272
#, 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}Connetti il tuo agente a REA {ph1} e dagli la directory dell'app o il "
"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:278
#, 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}Il tuo agente di codifica"

#: website/public/guides/javascript/index.html:282
#: website/public/guides/javascript/index.html:431
msgctxt "page:guides/javascript/index.html"
msgid "Copy"
msgstr "Copia"

#. {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:291
#, 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}Usa REA per trovare cosa succede quando esporto le note in "
"questa app. Dove viene creato CSV?{ph3}{ph4}{ph5}"

#. {ph0}: <code>app.asar</code>
#: website/public/guides/javascript/index.html:299
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid ""
"Example prompt. Include the absolute path to the application folder or "
"{ph0}."
msgstr ""
"Esempio prompt. Includere il percorso assoluto della cartella "
"dell'applicazione o {ph0}."

#: website/public/guides/javascript/index.html:303
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 legge i file dell'applicazione e crea una mappa di entrypoints, moduli e"
" confini di processo. L'agente utilizza tale mappa per restringere "
"l'indagine alla funzione di esportazione."

#: website/public/guides/javascript/index.html:310
msgctxt "page:guides/javascript/index.html"
msgid "Trace the export code"
msgstr "Traccia il codice di esportazione"

#: website/public/guides/javascript/index.html:311
msgctxt "page:guides/javascript/index.html"
msgid "The page calls a small API"
msgstr "La pagina chiama una piccola API"

#: website/public/guides/javascript/index.html:324
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 ""
"La pagina conosce il nome del metodo. L'implementazione vive nel precarico, "
"che lo espone al renderer."

#. {ph0}: <code>notes.exportCsv</code>
#. {ph1}: <code>notes:export</code>
#: website/public/guides/javascript/index.html:338
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid ""
"REA records {ph0} and the literal channel {ph1}. It pairs that invocation "
"with the single matching handler in the main process."
msgstr ""
"REA records {ph0} e il canale letterale {ph1}. Accoppia tale invocazione con"
" il singolo gestore di corrispondenza nel processo principale."

#. {ph0}: <code>csv.js</code>
#. {ph1}: <code>notes.csv</code>
#: website/public/guides/javascript/index.html:355
#, 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 ""
"La lettura del gestore risponde alla domanda originale: {ph0} formatta le "
"note e il processo principale scrive {ph1} nella cartella Download "
"dell'utente."

#: website/public/guides/javascript/index.html:372
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 ""
"Registrato da REA 4.1.0 nell'esempio scaricabile qui sotto. Le posizioni di "
"origine accompagnano i risultati dell'API, del canale e del gestore."

#: website/public/guides/javascript/index.html:378
msgctxt "page:guides/javascript/index.html"
msgid "Analyze the example yourself"
msgstr "Analizza l'esempio da solo"

#. {ph0}: <a class="button" href="../../examples/notes-example.zip"
#. download="notes-example.zip" >
#. {ph1}: </a >
#: website/public/guides/javascript/index.html:385
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0}Download example ZIP{ph1}"
msgstr "{ph0}Scarica esempio ZIP{ph1}"

#: website/public/guides/javascript/index.html:394
msgctxt "page:guides/javascript/index.html"
msgid "Browse the six source files"
msgstr "Sfoglia i sei file sorgente"

#: website/public/guides/javascript/index.html:430
msgctxt "page:guides/javascript/index.html"
msgid "Static application analysis"
msgstr "Analisi statica delle applicazioni"

#. {ph0}: <code>normalized_result.summary.ipc</code>
#. {ph1}: <code>normalized_result.graph</code>
#: website/public/guides/javascript/index.html:443
#, 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 ""
"Sostituire il percorso con la cartella decompressa. Dovresti trovare un "
"canale IPC e un gestore corrispondente in {ph0}. Le posizioni di origine "
"sono in {ph1}."

#: website/public/guides/javascript/index.html:449
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 ""
"Per la tua app, usa lo stesso comando con la sua directory o il percorso "
"ASAR. Un agente può seguire una stringa letterale, un nome API o un canale "
"IPC con gli strumenti di tracciamento delle funzionalità di REA."

#: website/public/guides/javascript/index.html:456
msgctxt "page:guides/javascript/index.html"
msgid "Inspect the CSV writer"
msgstr "Ispezionare il writer CSV"

#. {ph0}: <code>notes:export</code>
#: website/public/guides/javascript/index.html:458
#, 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 ""
"Seguire {ph0} al suo gestore. Quali input raggiungono il writer CSV e cosa "
"succede se la scrittura del file non riesce?"

#: website/public/guides/javascript/index.html:464
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 ""
"Utilizzare le posizioni di origine per ispezionare tali dettagli. I nomi dei"
" canali calcolati e i gestori ambigui possono rimanere irrisolti; le "
"osservazioni di runtime offrono un altro modo per analizzarli."

#. {ph0}: <a href="../../showcase/notion/" >
#. {ph1}: </a >
#. {ph2}: <span>
#. {ph3}: </span>
#: website/public/guides/javascript/index.html:470
#, 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}Segui il ponte degli appunti di Notion{ph1} {ph2}Applica lo stesso "
"approccio a un'app Electron pacchettizzata.{ph3}"

#. {ph0}: <a href="../browser/">
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/guides/javascript/index.html:476
#, 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}Osservare un'esportazione del browser{ph1}{ph2}Cattura un vero clic e "
"vedi quale richiesta fa.{ph3}"

#. {ph0}: <a href="../native/">
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/guides/javascript/index.html:482
#, 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}Seguire una funzione nativa{ph1}{ph2}Continua in un binario quando una "
"funzione dipende dal codice nativo.{ph3}"

#: website/public/guides/javascript/index.html:6
msgctxt "page:guides/javascript/index.html"
msgid "JavaScript and Electron Analysis — REA"
msgstr "Analisi JavaScript e Electron-Analisi 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 ""
"Traccia un'esportazione di note CSV tramite un'API di rendering, un "
"precarico e un gestore IPC con REA . Include file di esempio scaricabili e "
"un risultato di analisi verificato."

#: website/public/guides/javascript/index.html:210
msgctxt "page:guides/javascript/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/guides/javascript/index.html:220
msgctxt "page:guides/javascript/index.html"
msgid "JavaScript & Electron"
msgstr "JavaScript & Electron"

#: website/public/guides/javascript/index.html:282
msgctxt "page:guides/javascript/index.html"
msgid "Copy example prompt"
msgstr "Copia esempio prompt"

#: website/public/guides/javascript/index.html:431
msgctxt "page:guides/javascript/index.html"
msgid "Copy static application analysis"
msgstr "Copia analisi applicazione statica"

#: website/public/guides/javascript/index.html:509
msgctxt "page:guides/javascript/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/guides/native/index.html:107
msgctxt "page:guides/native/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/guides/native/index.html:199
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "{ph0}Home{ph1} / {ph2}Guides{ph3} / Native analysis"
msgstr ""
"{ph0}Casa{ph1} / {ph2}Guida{ph3} / Analisi di programmi a codice macchina"

#. {ph0}: <br />
#: website/public/guides/native/index.html:202
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "Recover DX-Ball's{ph0}sound-pan calculation."
msgstr ""
"Recuperare di DX-Ball{ph0}calcolo della posizione sonora sinistra/destra."

#: website/public/guides/native/index.html:203
msgctxt "page:guides/native/index.html"
msgid ""
"Inspect the original instructions, identify the input and constants, then "
"check the recovered C."
msgstr ""
"Ispezionare le istruzioni originali, identificare l'input e le costanti, "
"quindi controllare il C recuperato."

#: website/public/guides/native/index.html:210
msgctxt "page:guides/native/index.html"
msgid "In this guide"
msgstr "In questa guida"

#. {ph0}: <a href="#example">
#. {ph1}: </a>
#: website/public/guides/native/index.html:212
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "{ph0}The example{ph1}"
msgstr "{ph0}Esempio{ph1}"

#. {ph0}: <a href="#ask">
#. {ph1}: </a>
#: website/public/guides/native/index.html:213
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "{ph0}Ask your agent{ph1}"
msgstr "{ph0}Chiedi al tuo agente{ph1}"

#. {ph0}: <a href="#follow">
#. {ph1}: </a>
#: website/public/guides/native/index.html:214
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "{ph0}Read the REA results{ph1}"
msgstr "{ph0}Leggi i risultati di REA{ph1}"

#. {ph0}: <a href="#result">
#. {ph1}: </a>
#: website/public/guides/native/index.html:215
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "{ph0}Recover and check{ph1}"
msgstr "{ph0}Recuperare e controllare{ph1}"

#. {ph0}: <a href="#try">
#. {ph1}: </a>
#: website/public/guides/native/index.html:216
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "{ph0}Use your own binary{ph1}"
msgstr "{ph0}Usa il tuo binario{ph1}"

#: website/public/guides/native/index.html:221
msgctxt "page:guides/native/index.html"
msgid "Calculate left/right sound panning"
msgstr "Calcola il posizionamento del suono stereo sinistro / destro"

#: website/public/guides/native/index.html:222
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 ""
"In DX-Ball, un mattone colpito fornisce una posizione dello schermo "
"orizzontale. Il codice audio lo trasforma in un valore di panning "
"sinistro/destro."

#. {ph0}: <code>0x00406400</code>
#. {ph1}: <code>__ftol()</code>
#: website/public/guides/native/index.html:226
#, 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 ""
"La funzione di partenza, {ph0}, ha un risultato di decompiler corto: una "
"chiamata a {ph1}.  REA restituisce anche le sue istruzioni e i chiamanti, "
"che danno all'agente un modo per indagare sull'aritmetica mancante."

#: website/public/guides/native/index.html:233
msgctxt "page:guides/native/index.html"
msgid "New to these terms?"
msgstr "Nuovo a questi termini?"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>MOV</code>
#. {ph3}: <code>ADD</code>
#: website/public/guides/native/index.html:235
#, 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}Istruzione:{ph1} i passaggi eseguiti dal processore, mostrati in forma "
"leggibile come {ph2} o {ph3}."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/native/index.html:240
#, 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}Risultato decompilatore / pseudocodice:{ph1} il tentativo di uno "
"strumento di analisi di trasformare le istruzioni in codice simile a C. Può "
"perdere parti, come in questo esempio."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/native/index.html:245
#, 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}Chiamante:{ph1} una funzione che chiama questo. Mostra quali valori "
"vengono passati."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>0x00406400</code>
#: website/public/guides/native/index.html:249
#, 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}Indirizzo:{ph1} una posizione nel programma, scritta in esadecimale, "
"come {ph2}."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/native/index.html:253
#, 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}Costante:{ph1} numeri fissi memorizzati nel programma, letti come byte "
"grezzi e decodificati."

#: website/public/guides/native/index.html:260
msgctxt "page:guides/native/index.html"
msgid "Three pieces of evidence, one calculation"
msgstr "Tre prove, un calcolo"

#. {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:264
#, 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 * Istruzioni{ph1}{ph2}Un input intero{ph3}{ph4}Una lettura dello "
"stack fornisce il valore utilizzato dalle istruzioni in virgola mobile.{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:272
#, 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 * Chiamante{ph1}{ph2}Una coordinata dello schermo{ph3}{ph4}Il "
"mattone-hit caller passa {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:280
#, 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 di dati{ph1}{ph2}Le costanti numeriche{ph3}{ph4}I byte di "
"riferimento decodificano a {ph5}, {ph6} e un valore di scala.{ph7}"

#: website/public/guides/native/index.html:292
msgctxt "page:guides/native/index.html"
msgid ""
"REA supplies the instructions, call relationship and bytes. The agent "
"interprets them together."
msgstr ""
"REA fornisce le istruzioni, la relazione funzione-chiamata e i byte. "
"L'agente li interpreta insieme."

#: website/public/guides/native/index.html:299
msgctxt "page:guides/native/index.html"
msgid "Ask about the behavior"
msgstr "Chiedi del comportamento"

#. {ph0}: <a href="../../get-started/#agent" >
#. {ph1}: </a >
#. {ph2}: <a href="../../get-started/#native" >
#. {ph3}: </a >
#: website/public/guides/native/index.html:300
#, 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 ""
"Dopo {ph0}collegamento di REA al tuo agente{ph1} e {ph2}impostazione di uno "
"strumento di analisi dei programmi di codice macchina{ph3}, fornisca "
"l'eseguibile locale e una domanda:"

#: website/public/guides/native/index.html:311
msgctxt "page:guides/native/index.html"
msgid "Which analysis tool should I use?"
msgstr "Quale strumento di analisi dovrei usare?"

#: website/public/guides/native/index.html:312
msgctxt "page:guides/native/index.html"
msgid "REA needs one of these to read native programs:"
msgstr "REA ha bisogno di uno di questi per leggere i programmi nativi:"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/native/index.html:314
#, 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 o Linux): la configurazione di REA lo rileva o "
"offre di installarlo. Su macOS, apri Hopper una volta e scegli la modalità "
"demo o attiva una licenza prima della tua prima analisi."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/native/index.html:320
#, 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 o Linux ; sperimentale su Windows): gratuito, ma "
"richiede un Ghidra 12.1 esistente.x installazione e un 64-bit JDK 21 o più "
"recente."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/native/index.html:325
#, 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): per una configurazione IDA esistente con una "
"registrazione MCP."

#. {ph0}: <a href="../../get-started/#native">
#. {ph1}: </a>
#: website/public/guides/native/index.html:330
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "See {ph0}Set up native analysis{ph1} for the steps."
msgstr ""
"Vedere {ph0}Impostare l'analisi dei programmi di codice macchina{ph1} per i "
"passi."

#. {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:338
#, 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}Il tuo agente di codifica"

#: website/public/guides/native/index.html:342
#: website/public/guides/native/index.html:473
msgctxt "page:guides/native/index.html"
msgid "Copy"
msgstr "Copia"

#. {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:351
#, 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}Utilizzare REA per scoprire come DX-Ball calcola il "
"posizionamento del suono stereo. Spiega il calcolo e mostra il "
"codice.{ph3}{ph4}{ph5}"

#: website/public/guides/native/index.html:359
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 ""
"Esempio prompt. Fornisci al tuo agente il percorso dell'eseguibile DX-Ball "
"1.07 locale.  REA non include DX-Ball, quindi usa la tua copia o fai lo "
"stesso tipo di domanda su un altro piccolo programma Windows che hai."

#: website/public/guides/native/index.html:366
msgctxt "page:guides/native/index.html"
msgid "How do I get a file's full path?"
msgstr "Come ottengo il percorso completo di un file?"

#. {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}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} in Esplora file, fare clic con il pulsante destro del "
"mouse sul file e scegliere {ph2}Copia come percorso{ph3}. Su Windows 10, "
"tenere premuto Maiusc mentre si fa clic con il pulsante destro del mouse."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <em>
#. {ph3}: </em>
#: website/public/guides/native/index.html:373
#, 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} nel Finder, fare clic destro sul file, tenere premuto "
"Opzione e scegliere {ph2}Copia \" ... \" come percorso{ph3}."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/guides/native/index.html:377
#, 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}Qualsiasi sistema:{ph1} trascinare il file in una finestra di terminale"
" e il suo percorso appare."

#: website/public/guides/native/index.html:385
msgctxt "page:guides/native/index.html"
msgid "Read the REA results"
msgstr "Leggi i risultati di REA"

#: website/public/guides/native/index.html:386
msgctxt "page:guides/native/index.html"
msgid "Read the input"
msgstr "Leggi l'input"

#: website/public/guides/native/index.html:395
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 ""
"Le istruzioni caricano un argomento intero e lo convertono per l'aritmetica "
"in virgola mobile. Questo è l'input assente dalla prima vista pseudocodice."

#: website/public/guides/native/index.html:400
msgctxt "page:guides/native/index.html"
msgid "Follow the caller"
msgstr "Segui il chiamante"

#. {ph0}: <code>0x14</code>
#: website/public/guides/native/index.html:409
#, 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 identifica il chiamante brick-hit. Le sue istruzioni precedenti "
"moltiplicano la coordinata tile per 30; aggiunta {ph0} (20) dà la posizione "
"dello schermo del mattone."

#: website/public/guides/native/index.html:414
msgctxt "page:guides/native/index.html"
msgid "Read the referenced constants"
msgstr "Leggi le costanti di riferimento"

#: website/public/guides/native/index.html:425
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 ""
"L'aritmetica fa riferimento a questi indirizzi. La lettura dei byte fornisce"
" i valori effettivi; l'ordine di istruzioni indica all'agente come vengono "
"utilizzati."

#: website/public/guides/native/index.html:432
msgctxt "page:guides/native/index.html"
msgid "Write and check the recovered function"
msgstr "Scrivi e controlla la funzione recuperata"

#: website/public/guides/native/index.html:441
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 ""
"Con una scala di 1.0, le posizioni dello schermo 0, 320 e 640 mappano a "
"-500, 0 e 500 prima della conversione intera. Il calcolo mette il centro "
"dello schermo al centro del campo stereo."

#: website/public/guides/native/index.html:446
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 ""
"L'agente ha utilizzato i risultati di REA per scrivere il C. Controlli "
"separati hanno confrontato 3.205 input con la funzione x86 originale e "
"riprodotto tutti i 63 byte compilati della funzione completa."

#. {ph0}: <a href="../../showcase/dx-ball/#sound-pan" >
#. {ph1}: </a >
#: website/public/guides/native/index.html:451
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "{ph0}See the full investigation and assembly-to-C comparison{ph1}"
msgstr "{ph0}Vedi l'indagine completa e il confronto assembly-to-C{ph1}"

#: website/public/guides/native/index.html:458
msgctxt "page:guides/native/index.html"
msgid "Try it with your own binary"
msgstr "Provalo con il tuo binario"

#. {ph0}: <a href="../../get-started/#native" >
#. {ph1}: </a >
#: website/public/guides/native/index.html:459
#, 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}Collegare un'analisi del fornitore di programmi di codice "
"macchina{ph1}, poi dia al Suo agente un eseguibile locale o una biblioteca e"
" una caratteristica per investigare. Domande di partenza utili includono \" "
"Come viene analizzato questo file?\"o\" Quale funzione gestisce questa "
"azione del menu?”"

#: website/public/guides/native/index.html:466
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 ""
"Se si conosce già il nome o l'indirizzo di una funzione, è possibile "
"interrogarlo dal terminale. Per un'installazione Ghidra configurata:"

#: website/public/guides/native/index.html:472
msgctxt "page:guides/native/index.html"
msgid "Function analysis"
msgstr "Analisi delle funzioni"

#. {ph0}: <code>main</code>
#: website/public/guides/native/index.html:485
#, 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 ""
"Sostituire il percorso di destinazione e {ph0} con il proprio nome o "
"indirizzo della funzione. Ogni invocazione CLI importa e analizza il "
"binario, quindi chiude la sua sessione. Le query MCP dell'agente "
"riutilizzano il binario importato mentre la sessione è aperta."

#: website/public/guides/native/index.html:491
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 ""
"Leggi lo pseudocodice insieme a istruzioni e riferimenti. Quando un "
"risultato lascia una chiamata o un valore irrisolto, utilizzare tale "
"posizione come domanda successiva."

#: website/public/guides/native/index.html:6
msgctxt "page:guides/native/index.html"
msgid "Native Binary Analysis — REA"
msgstr "Analisi binaria nativa-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 ""
"Recuperare un calcolo nativo con REA: ispezionare le istruzioni, seguire un "
"chiamante, leggere le costanti e controllare ricostruito C."

#: website/public/guides/native/index.html:209
msgctxt "page:guides/native/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/guides/native/index.html:219
msgctxt "page:guides/native/index.html"
msgid "Native analysis"
msgstr "Analisi di programmi a codice macchina"

#: website/public/guides/native/index.html:342
msgctxt "page:guides/native/index.html"
msgid "Copy example prompt"
msgstr "Copia esempio prompt"

#: website/public/guides/native/index.html:473
msgctxt "page:guides/native/index.html"
msgid "Copy function analysis"
msgstr "Analisi delle funzioni di copia"

#: website/public/guides/native/index.html:515
msgctxt "page:guides/native/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/index.html:109
msgctxt "page:index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#: website/public/index.html:201 website/public/index.html:211
#: website/public/index.html:209
msgctxt "page:index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/index.html:202 website/public/index.html:250
msgctxt "page:index.html"
msgid "Set up REA"
msgstr "Impostare REA"

#. {ph0}: <a href="#setup" aria-current="location">
#. {ph1}: </a>
#: website/public/index.html:213
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Set up REA{ph1}"
msgstr "{ph0}Impostare REA {ph1}"

#. {ph0}: <a href="#dinosaur">
#. {ph1}: </a>
#: website/public/index.html:215
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Dinosaur game{ph1}"
msgstr "{ph0}Dinosauro gioco{ph1}"

#. {ph0}: <a href="#calculator">
#. {ph1}: </a>
#: website/public/index.html:216
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Calculator{ph1}"
msgstr "{ph0}Calcolatore{ph1}"

#. {ph0}: <a href="#try-rea">
#. {ph1}: </a>
#: website/public/index.html:218
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Try REA{ph1}"
msgstr "{ph0}Prova REA {ph1}"

#. {ph0}: <a href="#analyze">
#. {ph1}: </a>
#: website/public/index.html:219
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Go deeper{ph1}"
msgstr "{ph0}Approfondisci{ph1}"

#: website/public/index.html:228
msgctxt "page:index.html"
msgid "Reverse engineering, with your coding agent"
msgstr "Reverse engineering, con il tuo agente di codifica"

#. {ph0}: <br />
#: website/public/index.html:229
#, python-brace-format
msgctxt "page:index.html"
msgid "Find out how{ph0}software works."
msgstr "Scopri come{ph0}funziona il software."

#: website/public/index.html:251
msgctxt "page:index.html"
msgid "Copy this into your coding agent:"
msgstr "Copia questo prompt nel tuo agente di programmazione:"

#. {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:254
#, 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}Il tuo agente di codifica"

#: website/public/index.html:259 website/public/index.html:283
#: website/public/index.html:519 website/public/index.html:600
#: website/public/index.html:824 website/public/index.html:1136
#: website/public/index.html:1164
msgctxt "page:index.html"
msgid "Copy"
msgstr "Copia"

#: website/public/index.html:280
msgctxt "page:index.html"
msgid "Or run this in your terminal:"
msgstr "Oppure esegui questo comando nel terminale:"

#: website/public/index.html:292
msgctxt "page:index.html"
msgid "Approve the setup plan, then restart your agent."
msgstr "Controlla e approva le modifiche previste, poi riavvia il tuo agente."

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/index.html:368
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}01{ph1} Decode branches"
msgstr "{ph0}01{ph1} Decodifica rami"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/index.html:376
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}02{ph1} Trace calls"
msgstr "{ph0}02{ph1} Traccia chiamate"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/index.html:384
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}03{ph1} Recover the rule"
msgstr "{ph0}03{ph1} Recuperare la regola"

#. {ph0}: <span>
#. {ph1}: </span>
#. {ph2}: <span class="assembly-disclosure" aria-hidden="true" >
#. {ph3}: </span>
#: website/public/index.html:395
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Original x64 · selected instructions{ph1} {ph2}{ph3}"
msgstr "{ph0}Originale x64 * istruzioni selezionate{ph1} {ph2}{ph3}"

#: website/public/index.html:437
msgctxt "page:index.html"
msgid "01 · Which branch?"
msgstr "01 * Quale ramo ·"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:438
#, 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} Due salti nello stesso posto. Quali operatori sono "
"questi?”"

#: website/public/index.html:442
msgctxt "page:index.html"
msgid "Look up the command IDs, then label the branch."
msgstr "Cerca gli ID del comando, quindi etichetta il ramo."

#: website/public/index.html:448
msgctxt "page:index.html"
msgid "Divide ÷"
msgstr "Dividere ÷"

#: website/public/index.html:452
msgctxt "page:index.html"
msgid "Multiply ×"
msgstr "Moltiplicare ×"

#: website/public/index.html:457
msgctxt "page:index.html"
msgid "02 · What do the calls do?"
msgstr "02 · Che cosa fanno le funzioni chiamate?"

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/index.html:458
#, 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 è chiaro. Le chiamate sono solo indirizzi. {ph0}Quale divide? Quale "
"valore entra?{ph1}”"

#: website/public/index.html:464
msgctxt "page:index.html"
msgid "Inspect the helpers and trace the stored values."
msgstr "Ispezionare le funzioni di supporto e tracciare i valori memorizzati."

#: website/public/index.html:474
msgctxt "page:index.html"
msgid "Divide"
msgstr "Dividere"

#: website/public/index.html:479
msgctxt "page:index.html"
msgid "03 · What is the rule?"
msgstr "03 * Qual è la regola ·"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:480
#, 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 ""
"\"Questo percorso si moltiplica per l'altro input. Cosi {ph0}10% significa "
"10% di 200{ph1} dopo +.”"

#: website/public/index.html:484
msgctxt "page:index.html"
msgid "Name the operands and check both operator paths."
msgstr ""
"Assegnare un nome agli operandi e controllare entrambi i percorsi operatore."

#: website/public/index.html:500 website/public/index.html:427
msgctxt "page:index.html"
msgid "Illustrative expert reasoning"
msgstr "Ragionamento illustrativo esperto"

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/index.html:503
#, python-brace-format
msgctxt "page:index.html"
msgid ""
"{ph0}You decode the instructions, follow the calls and reconstruct the "
"calculation.{ph1}"
msgstr ""
"{ph0}Si decodificano le istruzioni, si seguono le chiamate di funzione e si "
"ricostruisce il calcolo.{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:514
#, 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}Esempio prompt * Calcolatrice"

#: website/public/index.html:536
msgctxt "page:index.html"
msgid "Example answer · based on the findings"
msgstr "Esempio di risposta * in base ai risultati"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/index.html:539
#, python-brace-format
msgctxt "page:index.html"
msgid ""
"After +, the % button takes {ph0}a percentage of the first number.{ph1}"
msgstr "Dopo +, il pulsante % prende {ph0}percentuale del primo numero.{ph1}"

#: website/public/index.html:552
msgctxt "page:index.html"
msgid "REA supplies"
msgstr "REA fornisce"

#: website/public/index.html:553
msgctxt "page:index.html"
msgid "The handler’s instructions, decompiled code and calls."
msgstr "Istruzioni del gestore, codice decompilato e chiamate."

#: website/public/index.html:558
msgctxt "page:index.html"
msgid "Your agent explains"
msgstr "Il tuo agente spiega"

#: website/public/index.html:559
msgctxt "page:index.html"
msgid "Which branch applies, what it calculates and how to rebuild it."
msgstr "Quale ramo si applica, cosa calcola e come ricostruirlo."

#: website/public/index.html:583
msgctxt "page:index.html"
msgid "Example 01 · Chrome’s dinosaur game"
msgstr "Esempio 01 * Gioco di dinosauri di Chrome"

#: website/public/index.html:584
msgctxt "page:index.html"
msgid "Why does the dinosaur get faster?"
msgstr "Perché il dinosauro diventa più veloce?"

#: website/public/index.html:663
msgctxt "page:index.html"
msgid "Play"
msgstr "Gioca"

#: website/public/index.html:666
msgctxt "page:index.html"
msgid "Jump ↑"
msgstr "Salta ↑"

#: website/public/index.html:667
msgctxt "page:index.html"
msgid "Restart"
msgstr "Ricomincia"

#: website/public/index.html:670
msgctxt "page:index.html"
msgid "Speed"
msgstr "Velocità"

#: website/public/index.html:680
msgctxt "page:index.html"
msgid "Use the recovered acceleration rule"
msgstr "Utilizzare la regola di accelerazione recuperata"

#: website/public/index.html:684
msgctxt "page:index.html"
msgid "Original rule: start at 6, then increase toward 13."
msgstr "Regola originale: inizia da 6, quindi aumenta verso 13."

#: website/public/index.html:687
msgctxt "page:index.html"
msgid "Move the slider to set your own speed. Space or Jump clears a cactus."
msgstr ""
"Spostare il cursore per impostare la propria velocità. Spazio o salto "
"cancella un cactus."

#. {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:609
#, 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}Usa REA per ispezionare questo gioco di dinosauri. Perché "
"diventa più veloce? Mostra la regola della velocità, quindi costruisci una "
"versione piccola con una velocità regolabile.{ph3}{ph4}{ph5}"

#. {ph0}: <a href="https://wayou.github.io/t-rex-runner/" >
#. {ph1}: </a >
#: website/public/index.html:707
#, python-brace-format
msgctxt "page:index.html"
msgid "Inspected target: {ph0}wayou’s Chromium-derived browser edition{ph1}."
msgstr ""
"Obiettivo ispezionato: {ph0}edizione del browser derivata da Chromium di "
"wayou{ph1}."

#: website/public/index.html:698
msgctxt "page:index.html"
msgid "Open the speed lab →"
msgstr "Apri lo speed lab"

#: website/public/index.html:729
msgctxt "page:index.html"
msgid "What each part does"
msgstr "Cosa fa ogni parte"

#. {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:731
#, 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}Leggi lo script del gioco in "
"esecuzione{ph3}{ph4}Restituisce il codice e le impostazioni effettivi "
"all'agente.{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:738
#, 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 * Il tuo agente{ph1}{ph2}Ricostruire la regola, aggiungere un "
"controllo{ph3}{ph4}Usa l'accelerazione recuperata in un piccolo gioco con un"
" cursore di velocità.{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:746
#, 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 * Tu{ph1}{ph2}Cambiare la velocità e giocare{ph3}{ph4}Prova "
"l'accelerazione originale, quindi scegli il tuo ritmo.{ph5}"

#: website/public/index.html:704
msgctxt "page:index.html"
msgid "See the script, checks and how to try the analysis"
msgstr "Vedi lo script, i controlli e come provare l'analisi"

#. {ph0}: <code>index.js</code>
#: website/public/index.html:756
#, 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 ispezionato l'edizione del browser HTTP tramite una connessione di debug"
" locale e restituito il caricato {ph0}, compresa la sua fonte e digest."

#: website/public/index.html:769
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 ""
"Abbiamo chiamato la funzione di aggiornamento del gioco originale in un "
"controllo controllato del browser, con ostacoli e programmazione automatica "
"disabilitati. Dopo 4.000 aggiornamenti, la velocità era 10.0; dopo 10.000, "
"era 13.0, arrotondato a un decimale."

#. {ph0}: <a href="examples/dino-lab/">
#. {ph1}: </a>
#: website/public/index.html:775
#, 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 ""
"Il nuovo mini-gioco mantiene quella regola di velocità. Il suo codice di "
"disegno, salto e collisione sono una piccola implementazione didattica. "
"{ph0}Apri il laboratorio{ph1} per vedere il nuovo codice ed eseguire lo "
"stesso controllo di velocità."

#. {ph0}: <a href="guides/browser/#prepare">
#. {ph1}: </a>
#. {ph2}: <a href="https://wayou.github.io/t-rex-runner/" >
#. {ph3}: </a >
#: website/public/index.html:781
#, 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 ""
"Per ispezionare il bersaglio da soli, seguire il {ph0}passaggi di "
"connessione del browser{ph1} servendosi {ph2}la pagina dei dinosauri{ph3}. "
"Fornisci all'agente l'URL della pagina e l'endpoint di debug locale, quindi "
"copia il prompt sopra."

#. {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:790
#, python-brace-format
msgctxt "page:index.html"
msgid ""
"{ph0}Inspected speed code{ph1} · {ph2}Chromium Authors · BSD license{ph3}"
msgstr ""
"{ph0}Codice di velocità ispezionato{ph1} · {ph2} Autori Chromium * Licenza "
"BSD{ph3}"

#: website/public/index.html:807
msgctxt "page:index.html"
msgid "Example 02 · Windows Calculator"
msgstr "Esempio 02 * Calcolatrice Windows"

#: website/public/index.html:808
msgctxt "page:index.html"
msgid "Rebuild Calculator’s % button."
msgstr "Ricrea il pulsante % della calcolatrice."

#: website/public/index.html:913
msgctxt "page:index.html"
msgid "Reset"
msgstr "Reimposta"

#: website/public/index.html:921
msgctxt "page:index.html"
msgid "10% of 200 = 20. Then 200 + 20 = 220."
msgstr "10% di 200 = 20. Quindi 200 + 20 = 220."

#: website/public/index.html:924
msgctxt "page:index.html"
msgid "Interactive illustration of the inspected percentage rule."
msgstr "Illustrazione interattiva della regola percentuale ispezionata."

#. {ph0}: <code>previous = 200</code>
#. {ph1}: <code>current = 10</code>
#: website/public/index.html:932
#, python-brace-format
msgctxt "page:index.html"
msgid "For this example, {ph0} and {ph1}."
msgstr "Per questo esempio, {ph0} e {ph1}."

#. {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:833
#, 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}Utilizzare REA per ispezionare il pulsante % della "
"calcolatrice Windows. Recuperare le regole dopo + e×, quindi costruire una "
"piccola calcolatrice che utilizza entrambi.{ph3}{ph4}{ph5}"

#: website/public/index.html:849
msgctxt "page:index.html"
msgid "With +"
msgstr "Con +"

#. {ph0}: <span>
#. {ph1}: </span >
#. {ph2}: <code>10% of 200 = 20 → 200 + 20 = 220</code>
#: website/public/index.html:850
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Take 10% of the first number.{ph1}{ph2}"
msgstr "{ph0}Prendi il 10% del primo numero.{ph1}{ph2}"

#: website/public/index.html:856
msgctxt "page:index.html"
msgid "With ×"
msgstr "Con ×"

#. {ph0}: <span>
#. {ph1}: </span>
#. {ph2}: <code>200 × 0.1 = 20</code>
#: website/public/index.html:857
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Turn 10% into 0.1.{ph1}{ph2}"
msgstr "{ph0}Trasforma il 10% in 0,1.{ph1}{ph2}"

#: website/public/index.html:947
msgctxt "page:index.html"
msgid "From the installed app to a working % button"
msgstr "Dall'app installata a un pulsante % funzionante"

#. {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:960
#, 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 legge la libreria{ph1}{ph2}Restituisce il codice del gestore %"
" {ph3}{ph4}La funzione controlla l'operatore e utilizza la costante "
"{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:968
#, 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 * Il tuo agente lo interpreta{ph1}{ph2}Spiegare e riprodurre le "
"regole{ph3}{ph4}Crosscheck il ramo con la fonte di Microsoft, quindi provare"
" + e × sopra.{ph5}"

#: website/public/index.html:931
msgctxt "page:index.html"
msgid "See the real code and how the answer was checked"
msgstr "Vedi il codice reale e come è stata controllata la risposta"

#: website/public/index.html:1003
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 ""
"Ispezionato con REA 4.1.0: Calcolatrice Windows 11.2508.4.0, x64. Il "
"riepilogo leggibile utilizza i nomi della fonte pubblica di Microsoft per "
"spiegare il ramo recuperato."

#. {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:1008
#, 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}Percentuale di attuazione{ph1} · {ph2}I test case di Microsoft{ph3} · "
"{ph4}Guida all'installazione nativa{ph5}"

#: website/public/index.html:1077
msgctxt "page:index.html"
msgid "Your first investigation"
msgstr "La tua prima indagine"

#: website/public/index.html:1078
msgctxt "page:index.html"
msgid "Try REA on a small app."
msgstr "Prova REA su una piccola app."

#: website/public/index.html:1079
msgctxt "page:index.html"
msgid ""
"Download our Notes example, trace its CSV export, and check one changed "
"input."
msgstr ""
"Scarica il nostro esempio di Note, traccia la sua esportazione CSV e "
"controlla un input modificato."

#: website/public/index.html:1084
msgctxt "page:index.html"
msgid "Try the guided example"
msgstr "Prova l'esempio guidato"

#: website/public/index.html:1101
msgctxt "page:index.html"
msgid "Native binaries"
msgstr "Programmi a codice macchina"

#: website/public/index.html:1102
msgctxt "page:index.html"
msgid ""
"Inspect functions, strings, references and call relationships in executables"
" and libraries."
msgstr ""
"Ispezionare funzioni, stringhe, riferimenti e relazioni di chiamata di "
"funzione in eseguibili e librerie."

#: website/public/index.html:1106
msgctxt "page:index.html"
msgid "Native analysis guide"
msgstr "Guida all'analisi dei programmi di codice macchina"

#: website/public/index.html:1109
msgctxt "page:index.html"
msgid "JavaScript & Electron"
msgstr "JavaScript & Electron"

#: website/public/index.html:1110
msgctxt "page:index.html"
msgid ""
"Map modules, routes, IPC and native dependencies from an application folder "
"or ASAR archive."
msgstr ""
"Mappa moduli, percorsi, IPC e dipendenze native da una cartella "
"dell'applicazione o da un archivio ASAR."

#: website/public/index.html:1114
msgctxt "page:index.html"
msgid "Application workflows"
msgstr "Flussi di lavoro delle applicazioni"

#: website/public/index.html:1117
msgctxt "page:index.html"
msgid "Browser & runtime activity"
msgstr "Attività del browser e runtime"

#: website/public/index.html:1118
msgctxt "page:index.html"
msgid ""
"Capture selected browser or process activity, then compare the results "
"across runs."
msgstr ""
"Cattura l'attività del browser o del processo selezionata, quindi confronta "
"i risultati tra le varie esecuzioni."

#: website/public/index.html:1122
msgctxt "page:index.html"
msgid "Browser observation guide"
msgstr "Guida all'osservazione del browser"

#: website/public/index.html:1193
msgctxt "page:index.html"
msgid "Any questions?"
msgstr "Hai domande?"

#: website/public/index.html:6
msgctxt "page:index.html"
msgid "REA — Reverse Engineering for Your Coding Agent"
msgstr "REA-Reverse Engineering per il tuo agente di codifica"

#: 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 ""
"Decodificare app, binari e comportamento del browser con il tuo agente di "
"codifica. Segui guide chiare e prova esempi interattivi con REA ."

#: website/public/index.html:259
msgctxt "page:index.html"
msgid "Copy REA installation prompt"
msgstr "Copia REA prompt di installazione"

#: website/public/index.html:283
msgctxt "page:index.html"
msgid "Copy setup command"
msgstr "Copia comando setup"

#: website/public/index.html:363
msgctxt "page:index.html"
msgid "Follow the manual Calculator analysis"
msgstr "Seguire l'analisi calcolatrice manuale"

#: website/public/index.html:519
msgctxt "page:index.html"
msgid "Copy Calculator percentage question"
msgstr "Copia Calcolatrice percentuale domanda"

#: website/public/index.html:653
msgctxt "page:index.html"
msgid ""
"Dinosaur mini-game. Use the Jump button or press Space while the game is "
"focused."
msgstr ""
"Dinosauro mini-gioco. Utilizzare il pulsante di salto o premere Spazio "
"mentre il gioco è focalizzato."

#: website/public/index.html:600
msgctxt "page:index.html"
msgid "Copy dinosaur analysis prompt"
msgstr "Copia dinosaur analysis prompt"

#: website/public/index.html:870
msgctxt "page:index.html"
msgid "Choose the calculation"
msgstr "Scegli il calcolo"

#: website/public/index.html:824
msgctxt "page:index.html"
msgid "Copy Calculator analysis prompt"
msgstr "Copia Calcolatrice analisi prompt"

#: website/public/index.html:1228
msgctxt "page:index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/showcase/aegis/index.html:108
msgctxt "page:showcase/aegis/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/showcase/aegis/index.html:200
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / Android"
msgstr "{ph0}Casa{ph1} / {ph2}Vetrina{ph3} / Android"

#: website/public/showcase/aegis/index.html:203
msgctxt "page:showcase/aegis/index.html"
msgid "Case study · Aegis Authenticator"
msgstr "Caso di studio · Autenticatore Aegis"

#. {ph0}: <br />
#: website/public/showcase/aegis/index.html:204
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "How does an authenticator{ph0}generate a login code?"
msgstr "Come funziona un autenticatore{ph0}generare un codice di accesso?"

#: website/public/showcase/aegis/index.html:205
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 ""
"Un codice a sei cifre cambia ogni 30 secondi. Usa REA per trovare il calcolo"
" in un APK Android, quindi ricostruiscilo con un orologio che puoi "
"controllare."

#: website/public/showcase/aegis/index.html:210
msgctxt "page:showcase/aegis/index.html"
msgid "Aegis 3.4.3 · Android · Official release APK · 6.9 MB"
msgstr "Aegis 3.4.3 * Android * Versione ufficiale APK * 6.9 MB"

#: website/public/showcase/aegis/index.html:213
msgctxt "page:showcase/aegis/index.html"
msgid "View Aegis on GitHub"
msgstr "Vedi Aegis su GitHub"

#: website/public/showcase/aegis/index.html:219
msgctxt "page:showcase/aegis/index.html"
msgid "From an APK to a code you can reproduce"
msgstr "Da un APK a un codice che puoi riprodurre"

#. {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:221
#, 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 * Individuare la funzione{ph1}{ph2}3.077 classi → metodi di "
"generazione{ph3}{ph4} REA cerca il pacchetto e traccia il codice utilizzato "
"dalle azioni di visualizzazione e copia.{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:230
#, 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 * Leggere il calcolo{ph1}{ph2}Tempo + chiave account → sei "
"cifre{ph3}{ph4} REA restituisce i metodi e le impostazioni predefinite. "
"L'agente spiega come si incastrano.{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:238
#, 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 * Ricostruire e controllare{ph1}{ph2}Cambia l'orologio. Guarda il "
"codice.{ph3}{ph4}Una nuova demo del browser riproduce la regola e la "
"confronta con i casi di riferimento pubblico.{ph5}"

#: website/public/showcase/aegis/index.html:251
msgctxt "page:showcase/aegis/index.html"
msgid "In this case study"
msgstr "In questo caso di studio"

#. {ph0}: <a href="#ask">
#. {ph1}: </a>
#: website/public/showcase/aegis/index.html:253
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}Ask your agent{ph1}"
msgstr "{ph0}Chiedi al tuo agente{ph1}"

#. {ph0}: <a href="#demo">
#. {ph1}: </a>
#: website/public/showcase/aegis/index.html:254
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}Try the code generator{ph1}"
msgstr "{ph0}Prova il generatore di codice{ph1}"

#. {ph0}: <a href="#find">
#. {ph1}: </a>
#: website/public/showcase/aegis/index.html:255
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}Find the code with REA{ph1}"
msgstr "{ph0}Trova il codice con REA {ph1}"

#. {ph0}: <a href="#calculation">
#. {ph1}: </a>
#: website/public/showcase/aegis/index.html:256
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}Read the calculation{ph1}"
msgstr "{ph0}Leggi il calcolo{ph1}"

#. {ph0}: <a href="#verify">
#. {ph1}: </a>
#: website/public/showcase/aegis/index.html:257
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}Check the reconstruction{ph1}"
msgstr "{ph0}Controlla la ricostruzione{ph1}"

#. {ph0}: <a href="#try">
#. {ph1}: </a>
#: website/public/showcase/aegis/index.html:258
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}Inspect the APK yourself{ph1}"
msgstr "{ph0}Ispezionare il APK da soli{ph1}"

#: website/public/showcase/aegis/index.html:263
msgctxt "page:showcase/aegis/index.html"
msgid "Ask your agent"
msgstr "Chiedi al tuo agente"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/showcase/aegis/index.html:264
#, 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 ""
"L'app mostra un codice di accesso che cambia. Vogliamo trovare {ph0}cosa lo "
"fa cambiare{ph1} riprodurre questo comportamento."

#. {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:270
#, 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}Il tuo agente di codifica"

#: website/public/showcase/aegis/index.html:274
#: website/public/showcase/aegis/index.html:737
msgctxt "page:showcase/aegis/index.html"
msgid "Copy"
msgstr "Copia"

#. {ph0}: <a href="#try">
#. {ph1}: </a>
#: website/public/showcase/aegis/index.html:294
#, 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 ""
"Un prompt di esempio per il APK scaricato, con l'analisi Android di REA "
"configurata. {ph0}Ottenere il APK e la configurazione di analisi ↓{ph1}"

#: website/public/showcase/aegis/index.html:302
msgctxt "page:showcase/aegis/index.html"
msgid "Try the code generator"
msgstr "Prova il generatore di codice"

#. {ph0}: <mark class="prose-highlight">
#. {ph1}: </mark>
#: website/public/showcase/aegis/index.html:303
#, 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 ""
"L'app raggruppa il tempo in {ph0}blocchi di 30 secondi.{ph1} Combina il "
"numero di blocco con la chiave dell'account per generare un codice. La "
"stessa chiave e blocco producono lo stesso codice."

#: website/public/showcase/aegis/index.html:310
msgctxt "page:showcase/aegis/index.html"
msgid "Move the clock across 60 seconds"
msgstr "Spostare l'orologio attraverso 60 secondi"

#: website/public/showcase/aegis/index.html:313
msgctxt "page:showcase/aegis/index.html"
msgid "Time"
msgstr "Tempo"

#: website/public/showcase/aegis/index.html:315
msgctxt "page:showcase/aegis/index.html"
msgid "seconds"
msgstr "secondo"

#: website/public/showcase/aegis/index.html:316
msgctxt "page:showcase/aegis/index.html"
msgid "Our adjustable example clock"
msgstr "Il nostro orologio di esempio regolabile"

#: website/public/showcase/aegis/index.html:319
msgctxt "page:showcase/aegis/index.html"
msgid "30-second block"
msgstr "blocco di 30 secondi"

#: website/public/showcase/aegis/index.html:321
#: website/public/showcase/aegis/index.html:648
msgctxt "page:showcase/aegis/index.html"
msgid "Block"
msgstr "Blocco"

#. {ph0}: <code data-aegis-division>floor(59 / 30)</code>
#. {ph1}: <br />
#. {ph2}: <span data-aegis-window >
#. {ph3}: </span >
#: website/public/showcase/aegis/index.html:322
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}{ph1}{ph2}30–59 seconds{ph3}"
msgstr "{ph0}{ph1}{ph2}30-59 secondi{ph3}"

#: website/public/showcase/aegis/index.html:330
msgctxt "page:showcase/aegis/index.html"
msgid "Generated code"
msgstr "Codice generato"

#: website/public/showcase/aegis/index.html:338
msgctxt "page:showcase/aegis/index.html"
msgid "Account key + block → six digits"
msgstr "Chiave account + blocco → sei cifre"

#: website/public/showcase/aegis/index.html:344
msgctxt "page:showcase/aegis/index.html"
msgid "Example time, in seconds"
msgstr "Tempo di esempio, in secondi"

#: website/public/showcase/aegis/index.html:359
#: website/public/showcase/aegis/index.html:659
msgctxt "page:showcase/aegis/index.html"
msgid "59 seconds"
msgstr "59 secondi"

#: website/public/showcase/aegis/index.html:366
#: website/public/showcase/aegis/index.html:664
msgctxt "page:showcase/aegis/index.html"
msgid "60 seconds"
msgstr "60 secondi"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <strong>
#. {ph3}: </strong>
#: website/public/showcase/aegis/index.html:375
#, 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 ""
"A 59 secondi: {ph0}287082.{ph1} A 60 secondi: {ph2}359152.{ph3} Lo "
"spostamento all'interno di un blocco lascia il codice invariato."

#. {ph0}: <a href="https://www.rfc-editor.org/rfc/rfc6238.html#appendix-B" >
#. {ph1}: </a >
#: website/public/showcase/aegis/index.html:382
#, 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 ""
"La chiave è fissa, pubblica {ph0}Dati di prova RFC 6238{ph1}. La demo "
"implementa il calcolo recuperato dal APK ."

#: website/public/showcase/aegis/index.html:389
msgctxt "page:showcase/aegis/index.html"
msgid ""
"The diagram shows the result at 59 seconds. Enable JavaScript to change the "
"clock."
msgstr ""
"Il diagramma mostra il risultato a 59 secondi. Abilita JavaScript per "
"cambiare l'orologio."

#: website/public/showcase/aegis/index.html:398
msgctxt "page:showcase/aegis/index.html"
msgid "Find the code with REA"
msgstr "Trova il codice con REA"

#: website/public/showcase/aegis/index.html:401
msgctxt "page:showcase/aegis/index.html"
msgid "Narrow the APK to three classes"
msgstr "Restringere il APK a tre classi"

#. {ph0}: <code>TotpInfo</code>
#: website/public/showcase/aegis/index.html:426
#, 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} è il candidato di calcolo; gli altri due riguardano la barra di "
"avanzamento e gli account importati.  TOTP indica una password una tantum "
"basata sul tempo."

#: website/public/showcase/aegis/index.html:433
msgctxt "page:showcase/aegis/index.html"
msgid "Connect the generator to the app's display"
msgstr "Collegare il generatore al display dell'app"

#. {ph0}: <code>EntryHolder.getOtp</code>
#. {ph1}: <code>TotpInfo.getOtp(timestamp)</code>
#: website/public/showcase/aegis/index.html:461
#, 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 identifica il sovraccarico timestamp e trova i chiamanti del metodo di "
"base. Ispezionare {ph0} poi mostra il display chiamata {ph1}."

#. {ph0}: <code>com.beemdevelopment.aegis</code>
#: website/public/showcase/aegis/index.html:469
#, 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 ""
"Le richieste mostrano un percorso di input abbreviato. I nomi delle classi "
"dei risultati omettono il comune {ph0} prefisso."

#: website/public/showcase/aegis/index.html:476
msgctxt "page:showcase/aegis/index.html"
msgid "Read the calculation"
msgstr "Leggi il calcolo"

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/showcase/aegis/index.html:477
#, 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 restituisce {ph0}la conversione dell'orologio, le impostazioni "
"predefinite e i metodi di generazione.{ph1} I costruttori impostano un "
"intervallo di 30 secondi e sei cifre; il metodo timestamp trasforma i "
"secondi in un numero di blocco."

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/aegis/index.html:492
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}01{ph1} Time block"
msgstr "{ph0}01{ph1} Blocco di tempo"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/aegis/index.html:500
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}02{ph1} Key + block"
msgstr "{ph0}02{ph1} Chiave + blocco"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/aegis/index.html:508
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}03{ph1} Six digits"
msgstr "{ph0}03{ph1} Sei cifre"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/showcase/aegis/index.html:567
#, 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}Il tempo sceglie il blocco.{ph1} I secondi da 30 a 59 danno tutti il "
"blocco 1. A 60 secondi, il blocco diventa 2."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/showcase/aegis/index.html:573
#, 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}Anche le questioni chiave.{ph1} Il generatore combina la chiave "
"dell'account con il blocco. Un account con una chiave diversa può mostrare "
"un codice diverso allo stesso tempo."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/showcase/aegis/index.html:580
#, 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}Tieni sei cifre.{ph1} Il resto dopo la divisione per 1.000.000 è "
"riempito con zeri quando necessario, quindi un codice può iniziare con 0."

#. {ph0}: <a
#. href="https://github.com/beemdevelopment/Aegis/blob/d6f4e5925a97e4e91593f1542085eae03432a759/LICENSE"
#. >
#. {ph1}: </a >
#: website/public/showcase/aegis/index.html:587
#, 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 ""
"Estratti da diversi metodi ispezionati, con avvolgimento di linea per la "
"visualizzazione. Il pannello di destra è un riassunto esplicativo. {ph0} Il "
"codice Aegis è GPL-3.0.{ph1}"

#: website/public/showcase/aegis/index.html:596
msgctxt "page:showcase/aegis/index.html"
msgid "Inside the generator"
msgstr "All'interno del generatore"

#. {ph0}: <code>generateOTP</code>
#. {ph1}: <code>kotlin.ExceptionsKt</code>
#. {ph2}: <code>TotpInfo</code>
#. {ph3}: <code>HOTP</code>
#: website/public/showcase/aegis/index.html:597
#, 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 ""
"Il APK rilasciato mette {ph0} in {ph1}.  REA segue la chiamata da {ph2} e "
"restituisce questo corpo; la fonte originale chiama l'helper {ph3}."

#: website/public/showcase/aegis/index.html:619
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 ""
"L'ultimo byte di hash seleziona una posizione. Quattro byte in quella "
"posizione forniscono un numero positivo a 31 bit; la formattazione lo riduce"
" al numero di cifre richiesto. L'ultimo argomento del costruttore seleziona "
"il ramo di formattazione del codice introdotto dalla compilazione."

#. {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:626
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}Compare with the matching release source{ph1}."
msgstr "{ph0}Confronta con la sorgente di rilascio corrispondente{ph1}."

#: website/public/showcase/aegis/index.html:636
msgctxt "page:showcase/aegis/index.html"
msgid "Check the reconstruction"
msgstr "Controlla la ricostruzione"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/showcase/aegis/index.html:637
#, 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 ""
"Abbiamo assemblato i metodi Java restituiti da REA selezionati in un piccolo"
" programma di test. La loro produzione corrispondeva a una ricostruzione "
"indipendente su {ph0}133 casi di prova{ph1}, compresi i limiti del blocco "
"temporale e i codici che iniziano con zero."

#: website/public/showcase/aegis/index.html:647
msgctxt "page:showcase/aegis/index.html"
msgid "Example time"
msgstr "Tempo di esempio"

#: website/public/showcase/aegis/index.html:649
msgctxt "page:showcase/aegis/index.html"
msgid "Six-digit code"
msgstr "Codice a sei cifre"

#: website/public/showcase/aegis/index.html:654
msgctxt "page:showcase/aegis/index.html"
msgid "30 seconds"
msgstr "30 secondi"

#: website/public/showcase/aegis/index.html:669
msgctxt "page:showcase/aegis/index.html"
msgid "1,111,111,109 seconds"
msgstr "1,111,111,109 secondi"

#. {ph0}: <a href="https://www.rfc-editor.org/rfc/rfc6238.html#appendix-B" >
#. {ph1}: </a >
#: website/public/showcase/aegis/index.html:676
#, 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 ""
"Il generatore corrisponde anche ai sei casi di riferimento SHA-1 pubblicati "
"in {ph0}RFC 6238{ph1}. Controlla l'implementazione del browser contro di "
"loro:"

#: website/public/showcase/aegis/index.html:684
msgctxt "page:showcase/aegis/index.html"
msgid "Run reference checks"
msgstr "Eseguire controlli di riferimento"

#: website/public/showcase/aegis/index.html:691
msgctxt "page:showcase/aegis/index.html"
msgid "Read the demo's calculation"
msgstr "Leggi il calcolo della demo"

#: website/public/showcase/aegis/index.html:695
msgctxt "page:showcase/aegis/index.html"
msgid ""
"The reference cases use eight digits. The check also verifies their six-"
"digit results."
msgstr ""
"I casi di riferimento utilizzano otto cifre. Il controllo verifica anche i "
"loro risultati a sei cifre."

#: website/public/showcase/aegis/index.html:704
msgctxt "page:showcase/aegis/index.html"
msgid ""
"Verification runs extracted Java methods and the new demo. The Android APK "
"was inspected statically."
msgstr ""
"Verifica esegue metodi Java estratti e la nuova demo. L'Android APK è stato "
"ispezionato staticamente."

#: website/public/showcase/aegis/index.html:711
msgctxt "page:showcase/aegis/index.html"
msgid "Inspect the APK yourself"
msgstr "Ispezionare il APK da soli"

#. {ph0}: <a href="../../get-started/">
#. {ph1}: </a>
#: website/public/showcase/aegis/index.html:712
#, 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}Impostare REA {ph1} su macOS o Linux, quindi scaricare questi due file "
"nella stessa cartella. Su Windows, utilizzare un ambiente Linux come WSL."

#. {ph0}: <code>JAVA_HOME</code>
#. {ph1}: <code>PATH</code>
#: website/public/showcase/aegis/index.html:717
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid ""
"Android analysis needs a full JDK 17 or later. Select it with {ph0} or "
"{ph1}. This case used JDK 21."
msgstr ""
"Android analysis ha bisogno di un JDK completo 17 o successivo. Selezionalo "
"con {ph0} o {ph1}. Questo caso ha usato JDK 21."

#: website/public/showcase/aegis/index.html:733
msgctxt "page:showcase/aegis/index.html"
msgid "Point REA at the provider file and inspect the APK:"
msgstr "Puntare REA sul file del provider e ispezionare APK :"

#: website/public/showcase/aegis/index.html:736
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:750
#, 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 ""
"Il tuo agente può continuare attraverso CLI di REA utilizzando il prompt "
"sopra. Per MCP, aggiungere {ph0} all'ambiente del server REA e ricollegarlo."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/showcase/aegis/index.html:755
#, 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 ""
"Una prossima domanda: {ph0}cosa succede quando un account utilizza otto "
"cifre o un intervallo di tempo diverso?{ph1}"

#: website/public/showcase/aegis/index.html:765
msgctxt "page:showcase/aegis/index.html"
msgid "Sources"
msgstr "Fonte"

#. {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:767
#, 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}Rilascio ufficiale di Aegis 3.4.3{ph1} · {ph2}Commit sorgente "
"corrispondente{ph3} · {ph4}Licenza 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:783
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}RFC 6238 reference cases{ph1} · {ph2}Demo test data{ph3}"
msgstr "{ph0}RFC 6238 casi di riferimento{ph1} · {ph2}Dati di prova demo{ph3}"

#: website/public/showcase/aegis/index.html:790
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 ""
"Ispezionato con REA 6.1.0 il 9 ottobre 2026. Estratti decompilati sono "
"accreditati a Aegis ; il diagramma, il riepilogo leggibile e la "
"ricostruzione del browser sono nuovo materiale didattico."

#: website/public/showcase/aegis/index.html:6
msgctxt "page:showcase/aegis/index.html"
msgid "Aegis APK Reverse Engineering: Login Codes — REA"
msgstr "Aegis APK Reverse Engineering: Codici di accesso-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 ""
"Ispeziona Aegis Android APK con REA, recupera il calcolo del codice di "
"accesso a sei cifre e prova una ricostruzione con un orologio regolabile."

#: website/public/showcase/aegis/index.html:250
msgctxt "page:showcase/aegis/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/showcase/aegis/index.html:261
msgctxt "page:showcase/aegis/index.html"
msgid "Aegis APK case study"
msgstr "Studio di caso Aegis APK"

#: website/public/showcase/aegis/index.html:274
msgctxt "page:showcase/aegis/index.html"
msgid "Copy Aegis example prompt"
msgstr "Copia il prompt di esempio di Aegis"

#: website/public/showcase/aegis/index.html:487
msgctxt "page:showcase/aegis/index.html"
msgid "Follow the login-code calculation"
msgstr "Segui il calcolo del codice di accesso"

#: website/public/showcase/aegis/index.html:737
msgctxt "page:showcase/aegis/index.html"
msgid "Copy APK inspection command"
msgstr "Copia il comando di ispezione APK"

#: website/public/showcase/aegis/index.html:814
msgctxt "page:showcase/aegis/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/showcase/ctf/index.html:107
msgctxt "page:showcase/ctf/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/showcase/ctf/index.html:199
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / CTF"
msgstr "{ph0}Casa{ph1} / {ph2}Vetrina{ph3} / CTF"

#: website/public/showcase/ctf/index.html:202
msgctxt "page:showcase/ctf/index.html"
msgid "Case study · DownUnderCTF 2023"
msgstr "Caso di studio * DownUnderCTF 2023"

#. {ph0}: <br />
#: website/public/showcase/ctf/index.html:203
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "Find the flag in{ph0}a CTF binary."
msgstr "Trova la bandiera in{ph0}un binario CTF."

#. {ph0}: <code>Correct!</code>
#: website/public/showcase/ctf/index.html:204
#, 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 ""
"Usa REA per ispezionare un piccolo correttore di flag, trasformare le sue "
"regole in equazioni e trovare un input che faccia stampare il programma "
"originale {ph0}."

#: website/public/showcase/ctf/index.html:209
msgctxt "page:showcase/ctf/index.html"
msgid "masked squares flag checker · Easy · Linux x86-64"
msgstr "quadrati mascherati bandiera checker * Facile * Linux x86-64"

#: website/public/showcase/ctf/index.html:212
msgctxt "page:showcase/ctf/index.html"
msgid "View the original challenge"
msgstr "Visualizza la sfida originale"

#: website/public/showcase/ctf/index.html:220
msgctxt "page:showcase/ctf/index.html"
msgid "From a binary to a checked answer"
msgstr "Da un binario a una risposta controllata"

#. {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:222
#, 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 * Trova il controllo{ph1}{ph2}Stringhe → funzioni di "
"controllo{ph3}{ph4} REA trova il prompt, i suoi riferimenti e il codice che "
"accetta o rifiuta un 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:230
#, 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 * Estrai le regole{ph1}{ph2}36 caratteri * 26 somme{ph3}{ph4} REA "
"restituisce le istruzioni e i dati dietro ogni controllo. L'agente li "
"trasforma in equazioni.{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:238
#, 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 * Risolvere ed eseguire{ph1}{ph2}Bandiera recuperata → "
"Corretta!{ph3}{ph4}Uno script Python risolve le equazioni.  REA cattura il "
"programma originale accettando il risultato.{ph5}"

#: website/public/showcase/ctf/index.html:247
msgctxt "page:showcase/ctf/index.html"
msgid ""
"The challenge is by joseph, published in DownUnderCTF's official repository."
msgstr ""
"La sfida è di joseph, pubblicato nel repository ufficiale di DownUnderCTF."

#: website/public/showcase/ctf/index.html:255
msgctxt "page:showcase/ctf/index.html"
msgid "In this case study"
msgstr "In questo caso di studio"

#. {ph0}: <a href="#find">
#. {ph1}: </a>
#: website/public/showcase/ctf/index.html:257
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}Find the checking code{ph1}"
msgstr "{ph0}Trova il codice di controllo{ph1}"

#. {ph0}: <a href="#mask">
#. {ph1}: </a>
#: website/public/showcase/ctf/index.html:258
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}Read one mask{ph1}"
msgstr "{ph0}Leggi una maschera{ph1}"

#. {ph0}: <a href="#code">
#. {ph1}: </a>
#: website/public/showcase/ctf/index.html:259
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}Assembly to readable code{ph1}"
msgstr "{ph0}Assembly a codice leggibile{ph1}"

#. {ph0}: <a href="#solve">
#. {ph1}: </a>
#: website/public/showcase/ctf/index.html:260
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}Solve the equations{ph1}"
msgstr "{ph0}Risolvi le equazioni{ph1}"

#. {ph0}: <a href="#verify">
#. {ph1}: </a>
#: website/public/showcase/ctf/index.html:261
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}Check the answer{ph1}"
msgstr "{ph0}Controlla la risposta{ph1}"

#. {ph0}: <a href="#try">
#. {ph1}: </a>
#: website/public/showcase/ctf/index.html:262
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}Try it yourself{ph1}"
msgstr "{ph0}Provalo tu stesso{ph1}"

#: website/public/showcase/ctf/index.html:267
msgctxt "page:showcase/ctf/index.html"
msgid "Find the checking code"
msgstr "Trova il codice di controllo"

#. {ph0}: <code>Correct!</code>
#. {ph1}: <code>Incorrect!</code>
#: website/public/showcase/ctf/index.html:268
#, 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 ""
"Il volantino è un eseguibile da 15 KB. Chiede una bandiera, poi stampa {ph0}"
" o {ph1}. Inizia con una semplice richiesta al tuo agente."

#. {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:275
#, 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}Il tuo agente di codifica"

#: website/public/showcase/ctf/index.html:280
#: website/public/showcase/ctf/index.html:499
#: website/public/showcase/ctf/index.html:523
#: website/public/showcase/ctf/index.html:593
#: website/public/showcase/ctf/index.html:740
msgctxt "page:showcase/ctf/index.html"
msgid "Copy"
msgstr "Copia"

#. {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:289
#, 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}Utilizzare REA per analizzare ms_flag_checker e trovare il "
"flag. Spiega come funzionano i controlli, quindi verifica la risposta con il"
" programma originale.{ph3}{ph4}{ph5}"

#: website/public/showcase/ctf/index.html:298
msgctxt "page:showcase/ctf/index.html"
msgid ""
"An example prompt, with the downloaded challenge available locally and a "
"native analysis provider connected."
msgstr ""
"Un prompt di esempio, con la sfida scaricata disponibile localmente e "
"un'analisi del provider di programmi di codice macchina collegato."

#: website/public/showcase/ctf/index.html:304
msgctxt "page:showcase/ctf/index.html"
msgid "Follow the input prompt to its function"
msgstr "Seguire il prompt di input per la sua funzione"

#: website/public/showcase/ctf/index.html:333
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 ""
"Il riferimento fornisce all'agente un posto in cui indagare, anche se i nomi"
" delle funzioni originali dell'eseguibile sono stati rimossi."

#: website/public/showcase/ctf/index.html:340
msgctxt "page:showcase/ctf/index.html"
msgid "Read the checker and its two helpers"
msgstr "Leggi il correttore e i suoi due aiutanti"

#. {ph0}: <code>0x18</code>
#. {ph1}: <code>0x270</code>
#: website/public/showcase/ctf/index.html:368
#, 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 ""
"Il primo ciclo copia 36 codici di caratteri. Il ciclo di controllo "
"decodifica una maschera, somma i codici selezionati e confronta il risultato"
" con un numero memorizzato. Sua {ph0}- passi byte attraverso {ph1} i byte "
"danno 26 maschere."

#: website/public/showcase/ctf/index.html:376
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 ""
"Questi sono risultati selezionati da una nuova analisi REA. Il percorso di "
"destinazione locale viene abbreviato per la visualizzazione; gli indirizzi "
"si riferiscono all'immagine importata di REA."

#: website/public/showcase/ctf/index.html:384
msgctxt "page:showcase/ctf/index.html"
msgid "One check reveals one character"
msgstr "Un controllo rivela un carattere"

#: website/public/showcase/ctf/index.html:385
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 ""
"Il controllore organizza l'ingresso in una griglia 6×6. Una maschera sceglie"
" quali cellule contribuiscono a una somma. La sua codifica compatta utilizza"
" numeri negativi per saltare le celle e numeri positivi per selezionarli."

#. {ph0}: <a href="../../assets/figures/ctf-mask-equation.svg" >
#. {ph1}: </a >
#: website/public/showcase/ctf/index.html:405
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "The seventh check selects just one position. {ph0}Open figure{ph1}."
msgstr ""
"Il settimo controllo seleziona solo una posizione. {ph0}Apri figura{ph1}."

#: website/public/showcase/ctf/index.html:412
msgctxt "page:showcase/ctf/index.html"
msgid "Read the mask and its target from the binary"
msgstr "Leggi la maschera e il suo obiettivo dal binario"

#. {ph0}: <code>MOVSX</code>
#. {ph1}: <code>eb</code>
#. {ph2}: <code>code[21] = 55</code>
#. {ph3}: <code>7</code>
#: website/public/showcase/ctf/index.html:434
#, 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 ""
"Istruzione {ph0} legge i byte della maschera come valori firmati. Ecco "
"perché {ph1} significa -21. L'obiettivo è un numero intero little-endian. "
"Insieme, questi byte dicono all'agente che {ph2}, in modo che il carattere è"
" {ph3}."

#: website/public/showcase/ctf/index.html:443
msgctxt "page:showcase/ctf/index.html"
msgid "From instructions to a readable check"
msgstr "Dalle istruzioni a un controllo leggibile"

#: website/public/showcase/ctf/index.html:444
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 ""
"Selezionare un passaggio per collegare l'helper sommatore e il suo chiamante"
" alla stessa regola in C."

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/ctf/index.html:454
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}01{ph1} Start"
msgstr "{ph0}01{ph1} Inizia"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/ctf/index.html:462
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}02{ph1} Select"
msgstr "{ph0}02{ph1} Selezionare"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/ctf/index.html:470
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}03{ph1} Add"
msgstr "{ph0}03{ph1} Aggiungere"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/ctf/index.html:478
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}04{ph1} Advance"
msgstr "{ph0}04{ph1} Anticipo"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/ctf/index.html:486
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}05{ph1} Compare"
msgstr "{ph0}05{ph1} Confrontare"

#: website/public/showcase/ctf/index.html:498
msgctxt "page:showcase/ctf/index.html"
msgid "REA · selected original instructions"
msgstr "REA * istruzioni originali selezionate"

#: website/public/showcase/ctf/index.html:522
msgctxt "page:showcase/ctf/index.html"
msgid "Readable C · one-check summary"
msgstr "Leggibile C * riepilogo di un controllo"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>ECX</code>
#: website/public/showcase/ctf/index.html:551
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}01 · Start at zero.{ph1} {ph2} holds the running sum."
msgstr "{ph0}01 * Inizia da zero.{ph1} {ph2} contiene la somma corrente."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/showcase/ctf/index.html:555
#, 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 * Controllare la cella della maschera.{ph1} Un valore zero salta il "
"carattere; un valore diverso da zero lo include."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/showcase/ctf/index.html:559
#, 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 * Aggiungere un codice di carattere.{ph1} L'intero dell'input con lo"
" stesso offset viene aggiunto alla somma."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/showcase/ctf/index.html:563
#, 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 * Passare alla cella successiva.{ph1} Il ciclo originale avanza di "
"quattro byte per numero intero e visita sei righe di sei celle."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>EAX</code>
#. {ph3}: <code>Incorrect!</code>
#: website/public/showcase/ctf/index.html:568
#, 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 * Confronta con l'obiettivo memorizzato.{ph1} Il chiamante riceve la"
" somma in {ph2}. Una mancata corrispondenza salta a {ph3}."

#: website/public/showcase/ctf/index.html:575
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 ""
"Le istruzioni provengono dall'helper sommatore e dal suo chiamante. La C è "
"un riassunto esplicativo con nomi descrittivi e un ciclo appiattito a 36 "
"celle."

#: website/public/showcase/ctf/index.html:583
msgctxt "page:showcase/ctf/index.html"
msgid "Solve the 26 equations"
msgstr "Risolvi le 26 equazioni"

#: website/public/showcase/ctf/index.html:584
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 ""
"La maggior parte delle maschere seleziona diverse celle. Ad esempio, il "
"primo controllo aggiunge 16 codici di caratteri e richiede un totale di "
"1441. Le selezioni sovrapposte danno equazioni che un piccolo script Python "
"può risolvere insieme."

#: website/public/showcase/ctf/index.html:592
msgctxt "page:showcase/ctf/index.html"
msgid "Python · solver excerpt"
msgstr "Python * estratto del risolutore"

#. {ph0}: <code>DUCTF{…}</code>
#: website/public/showcase/ctf/index.html:620
#, 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 è un risolutore che trova valori che soddisfano queste equazioni. Questo "
"estratto utilizza i controlli estratti e presuppone un {ph0} bandiera con "
"lettere, cifre, caratteri di sottolineatura e parentesi graffe. Il download "
"completo include tutte le 26 maschere e obiettivi."

#: website/public/showcase/ctf/index.html:626
msgctxt "page:showcase/ctf/index.html"
msgid "Download the complete solver"
msgstr "Scarica il risolutore completo"

#: website/public/showcase/ctf/index.html:632
msgctxt "page:showcase/ctf/index.html"
msgid "Check the answer with the original program"
msgstr "Controlla la risposta con il programma originale"

#. {ph0}: <code>z</code>
#. {ph1}: <code>y</code>
#: website/public/showcase/ctf/index.html:633
#, 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 ""
"L'acquisizione del processo di REA registra l'eseguibile originale "
"accettando il flag risolto. Modifica di un carattere selezionato da {ph0} "
"per {ph1} fa la prima somma 1440 invece di 1441, e il programma lo rifiuta."

#: website/public/showcase/ctf/index.html:643
msgctxt "page:showcase/ctf/index.html"
msgid "Input"
msgstr "Input"

#: website/public/showcase/ctf/index.html:644
msgctxt "page:showcase/ctf/index.html"
msgid "Observed output"
msgstr "Uscita osservata"

#: website/public/showcase/ctf/index.html:645
msgctxt "page:showcase/ctf/index.html"
msgid "Exit code"
msgstr "Codice di uscita"

#: website/public/showcase/ctf/index.html:650
msgctxt "page:showcase/ctf/index.html"
msgid "Solver's flag"
msgstr "Bandiera del risolutore"

#: website/public/showcase/ctf/index.html:655
msgctxt "page:showcase/ctf/index.html"
msgid "One character changed"
msgstr "Un personaggio cambiato"

#: website/public/showcase/ctf/index.html:663
msgctxt "page:showcase/ctf/index.html"
msgid "Show the recovered flag and captured output"
msgstr "Mostra il flag recuperato e l'output catturato"

#: website/public/showcase/ctf/index.html:666
msgctxt "page:showcase/ctf/index.html"
msgid "REA · original program output"
msgstr "REA * uscita del programma originale"

#: website/public/showcase/ctf/index.html:667
msgctxt "page:showcase/ctf/index.html"
msgid "Copy flag"
msgstr "Copia bandiera"

#: website/public/showcase/ctf/index.html:679
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 ""
"Il valore recuperato corrisponde anche alla bandiera nei metadati della "
"sfida pubblicati dagli organizzatori, controllati dopo aver risolto il "
"binario."

#: website/public/showcase/ctf/index.html:685
msgctxt "page:showcase/ctf/index.html"
msgid "Source, target identity and analysis details"
msgstr "Fonte, identità di destinazione e dettagli di analisi"

#: website/public/showcase/ctf/index.html:686
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 ""
"Analisi fresche e due acquisizioni di processo l ' 8 ottobre 2026, "
"utilizzando REA 4.1.0 con Ghidra 12.1.4 su Linux x64. Il binario è un ELF "
"x86-64 spogliato, 15.248 byte."

#: website/public/showcase/ctf/index.html:697
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 ""
"I riferimenti di stringa, le funzioni e le costanti sono stati ispezionati "
"prima di leggere la fonte o la soluzione degli organizzatori. Il risolutore "
"Python e il diagramma sono stati costruiti da quei risultati REA."

#. {ph0}: <a
#. href="https://github.com/DownUnderCTF/Challenges_2023_Public/blob/b48f83db2984bc7fa2ec7879a32d7efb1be8d333/rev/masked-
#. squares-flag-checker/src/ms_flag_checker.c" >
#. {ph1}: </a >
#. {ph2}: <a
#. href="https://github.com/DownUnderCTF/Challenges_2023_Public/blob/b48f83db2984bc7fa2ec7879a32d7efb1be8d333/rev/masked-
#. squares-flag-checker/ctfcli.yaml" >
#. {ph3}: </a >
#. {ph4}: <a
#. href="https://github.com/morluto/rea/blob/main/website/evidence/ctf-masked-
#. squares.md" >
#. {ph5}: </a >
#: website/public/showcase/ctf/index.html:702
#, 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}Confronta con la fonte degli organizzatori{ph1} · {ph2}Metadati sfida e"
" flag{ph3} · {ph4} Note di prova REA{ph5}"

#: website/public/showcase/ctf/index.html:722
msgctxt "page:showcase/ctf/index.html"
msgid "Try it yourself"
msgstr "Provalo tu stesso"

#: website/public/showcase/ctf/index.html:723
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 ""
"Scarica la sfida originale e il risolutore in un'unica cartella. Utilizzare "
"il prompt sopra per indagare con il proprio agente o eseguire lo script "
"incluso."

#: website/public/showcase/ctf/index.html:739
msgctxt "page:showcase/ctf/index.html"
msgid "Terminal · solve and run"
msgstr "Terminale * risolvere ed eseguire"

#. {ph0}: <code>z3-solver</code>
#: website/public/showcase/ctf/index.html:756
#, 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 ""
"Lo script stampa un flag candidato; incollarlo al prompt del programma. "
"Risolvere i bisogni di Python e {ph0}. L'esecuzione dell'eseguibile "
"originale richiede Linux x86-64."

#: website/public/showcase/ctf/index.html:761
msgctxt "page:showcase/ctf/index.html"
msgid "Set up REA with your coding agent"
msgstr "Configura REA con il tuo agente di codifica"

#: website/public/showcase/ctf/index.html:6
msgctxt "page:showcase/ctf/index.html"
msgid "CTF Reverse Engineering: DownUnderCTF Flag Checker — REA"
msgstr "Reverse Engineering CTF: Controllo bandiera 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 ""
"Usa REA per risolvere il correttore di flag quadrati mascherati di "
"DownUnderCTF. Trova le funzioni di controllo, estrai le maschere e confronta"
" un flag recuperato con il programma originale."

#: website/public/showcase/ctf/index.html:254
msgctxt "page:showcase/ctf/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/showcase/ctf/index.html:265
msgctxt "page:showcase/ctf/index.html"
msgid "CTF flag-checker case study"
msgstr "Caso di studio CTF flag-checker"

#: website/public/showcase/ctf/index.html:280
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF example prompt"
msgstr "Copia CTF esempio prompt"

#: website/public/showcase/ctf/index.html:391
msgctxt "page:showcase/ctf/index.html"
msgid "CTF mask equation; scroll horizontally on smaller screens"
msgstr ""
"Equazione maschera CTF; scorrere orizzontalmente su schermi più piccoli"

#: website/public/showcase/ctf/index.html:397
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 ""
"La settima maschera salta 21 celle, seleziona la posizione 21, quindi salta "
"14. Solo quella cella contribuisce alla somma. Il suo codice di carattere "
"richiesto è 55, il che significa che il carattere è 7."

#: website/public/showcase/ctf/index.html:449
msgctxt "page:showcase/ctf/index.html"
msgid "Follow the CTF check"
msgstr "Segui il controllo CTF"

#: website/public/showcase/ctf/index.html:499
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF assembly"
msgstr "Copia CTF assembly"

#: website/public/showcase/ctf/index.html:523
msgctxt "page:showcase/ctf/index.html"
msgid "Copy readable CTF check"
msgstr "Copia controllo CTF leggibile"

#: website/public/showcase/ctf/index.html:593
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF solver excerpt"
msgstr "Copia estratto del risolutore CTF"

#: website/public/showcase/ctf/index.html:667
msgctxt "page:showcase/ctf/index.html"
msgid "Copy recovered flag"
msgstr "Copia recuperato bandiera"

#: website/public/showcase/ctf/index.html:740
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF solver commands"
msgstr "Copia i comandi del risolutore CTF"

#: website/public/showcase/ctf/index.html:783
msgctxt "page:showcase/ctf/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/showcase/dx-ball/index.html:107
msgctxt "page:showcase/dx-ball/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/showcase/dx-ball/index.html:199
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / DX-Ball"
msgstr "{ph0}Casa{ph1} / {ph2}Vetrina{ph3} / DX-Ball"

#: website/public/showcase/dx-ball/index.html:202
msgctxt "page:showcase/dx-ball/index.html"
msgid "Case study · DX-Ball 1.07"
msgstr "Caso di studio * DX-Ball 1.07"

#. {ph0}: <br />
#: website/public/showcase/dx-ball/index.html:203
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "Rebuilding DX-Ball{ph0}from its executable."
msgstr "Ricostruzione DX-Ball {ph0}dal suo eseguibile."

#: website/public/showcase/dx-ball/index.html:204
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 ""
"L'obiettivo è una versione C mantenibile del gioco Windows del 1996.  REA "
"aiuta l'agente a ispezionare l'originale, una funzione alla volta."

#: website/public/showcase/dx-ball/index.html:208
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:225
#, 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 ""
"Una funzione, dall'eseguibile al controllato C. REA fornisce le istruzioni, "
"i chiamanti e le letture dei dati; il progetto di ricostruzione implementa e"
" verifica il risultato. {ph0}Apri figura{ph1}"

#: website/public/showcase/dx-ball/index.html:236
msgctxt "page:showcase/dx-ball/index.html"
msgid "In this case study"
msgstr "In questo caso di studio"

#. {ph0}: <a href="#progress">
#. {ph1}: </a>
#: website/public/showcase/dx-ball/index.html:238
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}The project{ph1}"
msgstr "{ph0}Progetto{ph1}"

#. {ph0}: <a href="#sound-pan">
#. {ph1}: </a>
#: website/public/showcase/dx-ball/index.html:239
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}Sound pan{ph1}"
msgstr "{ph0}Suono pan{ph1}"

#. {ph0}: <a href="#checking">
#. {ph1}: </a>
#: website/public/showcase/dx-ball/index.html:240
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}Checking the result{ph1}"
msgstr "{ph0}Controllo del risultato{ph1}"

#. {ph0}: <a href="#continue">
#. {ph1}: </a>
#: website/public/showcase/dx-ball/index.html:241
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}Continue the work{ph1}"
msgstr "{ph0}Continua il lavoro{ph1}"

#: website/public/showcase/dx-ball/index.html:249
msgctxt "page:showcase/dx-ball/index.html"
msgid "maintained C functions"
msgstr "funzioni C mantenute"

#: website/public/showcase/dx-ball/index.html:253
msgctxt "page:showcase/dx-ball/index.html"
msgid "comparisons with original code"
msgstr "confronto con il codice originale"

#: website/public/showcase/dx-ball/index.html:257
msgctxt "page:showcase/dx-ball/index.html"
msgid "functions with matching compiled bytes"
msgstr "funzioni con byte compilati corrispondenti"

#. {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:260
#, 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 ""
"Checkpoint del progetto: 7 ottobre 2026. {ph0}Progress ledger{ph1} · "
"{ph2}Copertura di prova{ph3}"

#: website/public/showcase/dx-ball/index.html:272
msgctxt "page:showcase/dx-ball/index.html"
msgid "The project so far"
msgstr "Il progetto finora"

#: website/public/showcase/dx-ball/index.html:273
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 ""
"Il codice recuperato copre bordo e la gestione delle risorse, colpi di "
"mattoni, animazioni, particelle e la produzione di bonus. Le build correnti "
"forniscono utilità di ispezione e una libreria di analisi. Il lavoro sul "
"gioco giocabile continua con la fisica della palla e della pagaia, la "
"gestione dei potenziamenti e l'integrazione con Windows."

#: website/public/showcase/dx-ball/index.html:283
msgctxt "page:showcase/dx-ball/index.html"
msgid "Finding the sound-pan calculation"
msgstr "Trovare il calcolo della posizione del suono sinistra/destra"

#: website/public/showcase/dx-ball/index.html:284
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 ""
"Quando un mattone viene colpito, la sua posizione orizzontale viene passata "
"al codice audio. L'indagine era necessaria per recuperare il modo in cui "
"quella coordinata dello schermo diventa un valore di panning "
"sinistro/destro."

#. {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:291
#, 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}Il tuo agente di codifica"

#: website/public/showcase/dx-ball/index.html:295
#: website/public/showcase/dx-ball/index.html:486
#: website/public/showcase/dx-ball/index.html:507
#: website/public/showcase/dx-ball/index.html:578
#: website/public/showcase/dx-ball/index.html:732
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy"
msgstr "Copia"

#. {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:304
#, 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}Utilizzare REA per scoprire come DX-Ball calcola il "
"posizionamento del suono stereo. Spiega il calcolo e mostra il "
"codice.{ph3}{ph4}{ph5}"

#: website/public/showcase/dx-ball/index.html:312
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 ""
"Un prompt di esempio per l'agente di codifica, con l'eseguibile locale "
"disponibile. L'indagine di seguito mostra le query REA e le prove dietro la "
"risposta."

#: website/public/showcase/dx-ball/index.html:317
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 ""
"L'agente ha utilizzato REA per ispezionare la funzione, seguire il suo "
"chiamante brick-hit e leggere le costanti dall'eseguibile. Questi risultati "
"hanno fornito l'input e l'aritmetica necessari per scrivere la funzione C "
"qui sotto."

#. {ph0}: <code>0x406400</code>
#. {ph1}: <code>FUN_00406400(void)</code>
#. {ph2}: <code>__ftol()</code>
#: website/public/showcase/dx-ball/index.html:323
#, 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 ""
"Il primo risultato della funzione per {ph0} dichiarazione pseudocodice "
"inclusa {ph1} e chiamando {ph2}. La sua vista delle istruzioni mostrava un "
"input dello stack e operazioni in virgola mobile. Questa discrepanza ha dato"
" all'agente un motivo concreto per continuare a indagare."

#: website/public/showcase/dx-ball/index.html:331
msgctxt "page:showcase/dx-ball/index.html"
msgid "The first decompiler view"
msgstr "La prima vista decompilatore"

#: website/public/showcase/dx-ball/index.html:344
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 ""
"L'output mostra una chiamata di conversione. La lettura delle istruzioni "
"riportate di seguito rivela l'input e il calcolo che alimenta quella "
"chiamata."

#: website/public/showcase/dx-ball/index.html:350
msgctxt "page:showcase/dx-ball/index.html"
msgid "Three questions answered through REA"
msgstr "Tre domande risposte attraverso REA"

#: website/public/showcase/dx-ball/index.html:353
msgctxt "page:showcase/dx-ball/index.html"
msgid "Recover the missing input"
msgstr "Recuperare l'input mancante"

#. {ph0}: <code>[EBP+8]</code>
#: website/public/showcase/dx-ball/index.html:370
#, 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 ""
"Il risultato della funzione include istruzioni insieme a pseudocodice e "
"chiamanti. Qui, {ph0} espone l'input intero mancante dalla vista decompiler."

#: website/public/showcase/dx-ball/index.html:377
msgctxt "page:showcase/dx-ball/index.html"
msgid "Follow the caller to understand the input"
msgstr "Seguire il chiamante per capire l'input"

#. {ph0}: <code>tile_x</code>
#. {ph1}: <code>20 + 30 × tile_x</code>
#: website/public/showcase/dx-ball/index.html:394
#, 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 ha identificato questo chiamante nel primo risultato. Le sue istruzioni "
"precedenti scala {ph0} con 30; l'aggiunta di 20 dà la coordinata dello "
"schermo del mattone, {ph1}."

#: website/public/showcase/dx-ball/index.html:401
msgctxt "page:showcase/dx-ball/index.html"
msgid "Read the values behind the memory addresses"
msgstr "Leggere i valori dietro gli indirizzi di memoria"

#: website/public/showcase/dx-ball/index.html:422
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 ""
"I byte restituiti stabiliscono le due costanti aritmetiche e la scala pan "
"iniziale. L'agente ora ha i valori necessari per l'espressione C."

#: website/public/showcase/dx-ball/index.html:430
msgctxt "page:showcase/dx-ball/index.html"
msgid "From REA's findings to C"
msgstr "Dai risultati di REA a C"

#: website/public/showcase/dx-ball/index.html:431
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 ""
"Segui i cinque passaggi seguenti. Ogni selezione evidenzia le istruzioni "
"originali e le linee C che hanno informato."

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/dx-ball/index.html:441
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}01{ph1} Input"
msgstr "{ph0}01{ph1} Input"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/dx-ball/index.html:449
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}02{ph1} Multiply"
msgstr "{ph0}02{ph1} Moltiplicare"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/dx-ball/index.html:457
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}03{ph1} Subtract"
msgstr "{ph0}03{ph1} Sottrarre"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/dx-ball/index.html:465
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}04{ph1} Scale"
msgstr "{ph0}04{ph1} Scala"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/dx-ball/index.html:473
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}05{ph1} Return"
msgstr "{ph0}05{ph1} Restituire"

#: website/public/showcase/dx-ball/index.html:485
msgctxt "page:showcase/dx-ball/index.html"
msgid "Original x86 · excerpt"
msgstr "Originale x86 * estratto"

#: website/public/showcase/dx-ball/index.html:506
msgctxt "page:showcase/dx-ball/index.html"
msgid "Reconstructed C"
msgstr "Ricostruito 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:533
#, 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 * Leggere l'input.{ph1} La vista delle istruzioni nel risultato "
"della funzione di REA legge {ph2} e usi {ph3} per caricare il numero intero."
" Seguendo il suo chiamante attraverso REA stabilisce il significato della "
"coordinata dello schermo del parametro 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:540
#, 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 * Moltiplicare per 1,5625.{ph1} {ph2} legge il doppio a {ph3}. I "
"byte restituiti da REA {ph4} decodifica a {ph5} C utilizza la stessa "
"costante."

#. {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:546
#, 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 * Sottrarre 500.0.{ph1} {ph2} legge il doppio a {ph3}.  Il risultato"
" byte di REA decodifica in {ph4}, spostando il centro del calcolo alla "
"coordinata dello schermo {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:552
#, 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 * Applicare la scala memorizzata.{ph1} Secondo {ph2} leggere {ph3}. "
"Questo globale è chiamato {ph4} nella fonte mantenuta.  Il secondo byte "
"letto di REA stabilisce il suo valore iniziale di {ph5}."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>0x406430</code>
#. {ph3}: <code>__ftol</code>
#. {ph4}: <code>DxBallInt</code>
#: website/public/showcase/dx-ball/index.html:559
#, 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 * Restituisce un numero intero.{ph1} La chiamata a {ph2} raggiungere"
" {ph3}, identificato nei risultati del callee di REA. Il C lancia il "
"risultato a {ph4}; originale-x86 confronti controllare il valore restituito."

#: website/public/showcase/dx-ball/index.html:568
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 ""
"L'estratto dell'assembly seleziona le istruzioni di input, aritmetica e "
"ritorno. L'elenco completo di seguito include anche i negozi intermedi e "
"l'impostazione e la pulizia delle funzioni."

#: website/public/showcase/dx-ball/index.html:574
msgctxt "page:showcase/dx-ball/index.html"
msgid "Full assembly and supporting evidence"
msgstr "Assemblea completa e prove a sostegno"

#: website/public/showcase/dx-ball/index.html:577
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA result · 0x406400–0x40643e"
msgstr "REA risultato * 0x406400-0x40643e"

#: website/public/showcase/dx-ball/index.html:611
msgctxt "page:showcase/dx-ball/index.html"
msgid "What the caller supplies"
msgstr "Cosa fornisce il chiamante"

#. {ph0}: <code>0x411f40</code>
#: website/public/showcase/dx-ball/index.html:612
#, 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 ""
"La funzione brick-hit a {ph0} ridimensiona la sua coordinata tile di 30, "
"aggiunge 20, quindi la spinge prima della chiamata:"

#: website/public/showcase/dx-ball/index.html:626
msgctxt "page:showcase/dx-ball/index.html"
msgid "What the data reads establish"
msgstr "Ciò che i dati leggono stabiliscono"

#: website/public/showcase/dx-ball/index.html:629
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA byte reads, decoded as little-endian doubles"
msgstr "REA byte legge, decodificato come little-endian raddoppia"

#: website/public/showcase/dx-ball/index.html:634
msgctxt "page:showcase/dx-ball/index.html"
msgid "Address"
msgstr "Indirizzo"

#: website/public/showcase/dx-ball/index.html:635
msgctxt "page:showcase/dx-ball/index.html"
msgid "Value"
msgstr "Valore"

#: website/public/showcase/dx-ball/index.html:636
msgctxt "page:showcase/dx-ball/index.html"
msgid "Used for"
msgstr "Usato per"

#: website/public/showcase/dx-ball/index.html:643
msgctxt "page:showcase/dx-ball/index.html"
msgid "First multiplication"
msgstr "Prima moltiplicazione"

#: website/public/showcase/dx-ball/index.html:648
msgctxt "page:showcase/dx-ball/index.html"
msgid "Subtraction"
msgstr "Sottrazione"

#. {ph0}: <code>1.0</code>
#: website/public/showcase/dx-ball/index.html:652
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0} initially"
msgstr "{ph0} inizialmente"

#: website/public/showcase/dx-ball/index.html:653
msgctxt "page:showcase/dx-ball/index.html"
msgid "Stored pan scale"
msgstr "Scala pan memorizzata"

#: website/public/showcase/dx-ball/index.html:658
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 ""
"Registrato con REA 4.1.0 per il target DX-Ball 1.07 bloccato con hash. Le "
"note di indagine collegate conservano gli ID delle prove."

#. {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:663
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid ""
"{ph0}Maintained source{ph1} · {ph2}Investigation notes and evidence "
"references{ph3}"
msgstr ""
"{ph0}Fonte mantenuta{ph1} · {ph2}Note di indagine e riferimenti alle "
"prove{ph3}"

#: website/public/showcase/dx-ball/index.html:677
msgctxt "page:showcase/dx-ball/index.html"
msgid "Checking the recovered function"
msgstr "Controllo della funzione recuperata"

#: website/public/showcase/dx-ball/index.html:678
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 ""
"La funzione recuperata passa due controlli: i suoi valori di ritorno "
"corrispondono all'originale e i suoi byte compilati corrispondono "
"all'eseguibile."

#: website/public/showcase/dx-ball/index.html:684
msgctxt "page:showcase/dx-ball/index.html"
msgid "3,205 behavior cases"
msgstr "3.205 casi di comportamento"

#: website/public/showcase/dx-ball/index.html:685
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 ""
"I test eseguono la funzione x86 originale e confrontano il suo valore di "
"ritorno con il C mantenuto.Coprono ogni posizione intera da 0 a 640 a cinque"
" scale pan: 0, 0.5, 1, 20 e -1."

#: website/public/showcase/dx-ball/index.html:693
msgctxt "page:showcase/dx-ball/index.html"
msgid "63 matching bytes"
msgstr "63 byte corrispondenti"

#: website/public/showcase/dx-ball/index.html:694
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 ""
"La funzione C è compilata con la toolchain VC4.0 bloccata. La riproduzione "
"del compilatore corrisponde alla funzione completa dopo aver applicato le "
"rilocazioni riviste e controllato le costanti di riferimento."

#: website/public/showcase/dx-ball/index.html:702
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 ""
"In una scala di 1, il calcolo recuperato restituisce -500 sul bordo "
"sinistro, 0 al centro e 500 sul bordo destro. La parte successiva del lavoro"
" audio è l'integrazione di tale valore con il back-end audio del gioco."

#. {ph0}: <a href="https://github.com/N0zoM1z0/dx-
#. ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/docs/BUILD_MATCHING.md"
#. >
#. {ph1}: </a >
#: website/public/showcase/dx-ball/index.html:708
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}Read the compiler replay details{ph1}"
msgstr "{ph0}Leggi i dettagli di riproduzione del compilatore{ph1}"

#: website/public/showcase/dx-ball/index.html:717
msgctxt "page:showcase/dx-ball/index.html"
msgid "Continue the investigation"
msgstr "Continua l'indagine"

#: website/public/showcase/dx-ball/index.html:718
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 ""
"Lo stesso approccio viene utilizzato per gli aggiornamenti delle particelle,"
" le code di esplosione e la generazione di bonus: ispezionare le funzioni "
"pertinenti, recuperare il loro stato e le dipendenze, quindi confrontare "
"l'implementazione con l'originale."

#: website/public/showcase/dx-ball/index.html:724
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 ""
"Per ispezionare personalmente la funzione sound-pan, seguire le istruzioni "
"di installazione del progetto DX-Ball e fornire il relativo target originale"
" corrispondente. Allora corri:"

#: website/public/showcase/dx-ball/index.html:731
msgctxt "page:showcase/dx-ball/index.html"
msgid "In the DX-Ball checkout"
msgstr "Nel 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:745
#, 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} Archivio DX-Ball{ph1}{ph2}Fonte corrente, progresso e configurazione "
"locale.{ph3}"

#. {ph0}: <a href="../../guides/native/">
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/showcase/dx-ball/index.html:750
#, 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} Flusso di lavoro di analisi REA{ph1}{ph2}Seguire il calcolo, quindi "
"utilizzare lo stesso approccio con il proprio binario.{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:757
#, 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}Particelle e produzione di bonus{ph1}{ph2}Un'indagine più ampia sullo "
"stato, le code e le scritture dei pixel.{ph3}"

#: website/public/showcase/dx-ball/index.html:6
msgctxt "page:showcase/dx-ball/index.html"
msgid "DX-Ball Reverse Engineering: Sound Panning — REA"
msgstr "DX-Ball Reverse Engineering: Panning del suono-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 ""
"Seguire una ricostruzione DX-Ball dall'analisi binaria attraverso REA a C "
"mantenuto, test originali-x86 e corrispondenti byte di funzioni compilate."

#: website/public/showcase/dx-ball/index.html:211
msgctxt "page:showcase/dx-ball/index.html"
msgid ""
"DX-Ball sound-pan investigation; scroll horizontally on smaller screens"
msgstr ""
"DX-Ball sound-pan investigation; scorri orizzontalmente su schermi più "
"piccoli"

#: website/public/showcase/dx-ball/index.html:217
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.La funzione EXE 0x00406400 è ispezionata con REA . Un chiamante "
"brick-hit fornisce 20 più 30 volte tile_x. Istruzioni caricare x, "
"moltiplicare per 1.5625, sottrarre 500.0, applicare pan_scale e restituire "
"un numero intero. Il C mantenuto viene controllato indipendentemente "
"dall'originale x86 in 3.205 casi e dal replay del compilatore VC4.0 che "
"corrisponde a 63 byte."

#: website/public/showcase/dx-ball/index.html:235
msgctxt "page:showcase/dx-ball/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/showcase/dx-ball/index.html:244
msgctxt "page:showcase/dx-ball/index.html"
msgid "DX-Ball reconstruction case study"
msgstr "DX-Ball ricostruzione caso di studio"

#: website/public/showcase/dx-ball/index.html:295
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy example prompt"
msgstr "Copia esempio prompt"

#: website/public/showcase/dx-ball/index.html:436
msgctxt "page:showcase/dx-ball/index.html"
msgid "Follow the sound-pan calculation"
msgstr "Seguire il calcolo di sinistra / destra posizione del suono"

#: website/public/showcase/dx-ball/index.html:486
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy original assembly excerpt"
msgstr "Copia estratto di assemblaggio originale"

#: website/public/showcase/dx-ball/index.html:507
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy sound-pan function"
msgstr "Copia suono-funzione pan"

#: website/public/showcase/dx-ball/index.html:578
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy complete sound-pan assembly"
msgstr "Copia suono completo-pan assembly"

#: website/public/showcase/dx-ball/index.html:732
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy DX-Ball analysis command"
msgstr "Copia il comando di analisi DX-Ball"

#: website/public/showcase/dx-ball/index.html:791
msgctxt "page:showcase/dx-ball/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/showcase/index.html:107
msgctxt "page:showcase/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/showcase/index.html:199
#, python-brace-format
msgctxt "page:showcase/index.html"
msgid "{ph0}Home{ph1} / Showcases"
msgstr "{ph0}Casa{ph1} / Vetrina"

#: website/public/showcase/index.html:200
msgctxt "page:showcase/index.html"
msgid "REA case studies."
msgstr "Studi di casi REA."

#: website/public/showcase/index.html:201
msgctxt "page:showcase/index.html"
msgid ""
"Android, games, Electron and a CTF challenge, with code, figures and checked"
" results."
msgstr ""
"Android, giochi, Electron e una sfida CTF, con codice, figure e risultati "
"controllati."

#: website/public/showcase/index.html:208
msgctxt "page:showcase/index.html"
msgid "Android · APK analysis"
msgstr "Android * Analisi APK"

#: website/public/showcase/index.html:210
msgctxt "page:showcase/index.html"
msgid "How an authenticator generates a login code"
msgstr "Come un autenticatore genera un codice di accesso"

#: website/public/showcase/index.html:211
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 ""
"Trova il calcolo del codice a sei cifre di Aegis nel suo APK rilasciato . "
"Traccia i metodi di generazione con REA, quindi sposta un orologio demo per "
"vedere perché il codice cambia ogni 30 secondi."

#: website/public/showcase/index.html:222
msgctxt "page:showcase/index.html"
msgid "Read the Android case study"
msgstr "Leggi il case study di Android"

#: website/public/showcase/index.html:226
msgctxt "page:showcase/index.html"
msgid "CTF · Native analysis"
msgstr "CTF * Analisi di programmi a codice macchina"

#: website/public/showcase/index.html:228
msgctxt "page:showcase/index.html"
msgid "Solve a CTF flag checker"
msgstr "Risolvere un CTF flag checker"

#: website/public/showcase/index.html:229
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 ""
"Ispezionare una sfida DownUnderCTF facile con REA . Trova le sue funzioni di"
" controllo, trasforma maschere e somme in equazioni, quindi verifica il flag"
" risolto con il programma originale."

#: website/public/showcase/index.html:240
msgctxt "page:showcase/index.html"
msgid "Read the CTF case study"
msgstr "Leggi il caso di studio CTF"

#: website/public/showcase/index.html:244
msgctxt "page:showcase/index.html"
msgid "Native · Reconstruction"
msgstr "Nativo * Ricostruzione"

#: website/public/showcase/index.html:246
msgctxt "page:showcase/index.html"
msgid "DX-Ball's sound-pan calculation"
msgstr "DX-Ball ' s calcolo di sinistra / destra posizione del suono"

#: website/public/showcase/index.html:247
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 ""
"Recuperare un calcolo di sinistra / destra posizione del suono da un 1996 "
"Windows gioco.  Le istruzioni di REA, i riferimenti del chiamante e le "
"costanti numeriche portano a una piccola funzione C, verificata rispetto al "
"comportamento originale e a tutti i 63 byte compilati."

#: website/public/showcase/index.html:259
msgctxt "page:showcase/index.html"
msgid "Read the DX-Ball case study"
msgstr "Leggi il caso di studio DX-Ball"

#: website/public/showcase/index.html:263
msgctxt "page:showcase/index.html"
msgid "Electron · Feature tracing"
msgstr "Electron * Funzione di tracciamento"

#: website/public/showcase/index.html:265
msgctxt "page:showcase/index.html"
msgid "How Notion copies text and HTML"
msgstr "Come Notion copia testo e HTML"

#: website/public/showcase/index.html:266
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 ""
"Traccia un'API rivolta alla pagina attraverso JavaScript confezionato di "
"Notion. Segui i suoi wrapper IPC negli appunti di sistema, quindi guarda "
"come un piccolo marcatore HTML mantiene i dati dei blocchi ricchi collegati "
"a una copia."

#: website/public/showcase/index.html:277
msgctxt "page:showcase/index.html"
msgid "Read the Notion case study"
msgstr "Leggi il caso di studio Notion"

#: website/public/showcase/index.html:281
msgctxt "page:showcase/index.html"
msgid "PC-98 DOS · Reconstruction"
msgstr "PC-98 DOS * Ricostruzione"

#: website/public/showcase/index.html:283
msgctxt "page:showcase/index.html"
msgid "How TH04 aims a ring of bullets"
msgstr "Come TH04 mira un anello di proiettili"

#: website/public/showcase/index.html:284
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 ""
"Ispezionare l'assistente angolare a 16 bit originale con REA . Abbina le sue"
" operazioni di moltiplicazione, divisione e coordinamento a C++ leggibile, "
"quindi guarda come producono un anello rivolto al giocatore."

#: website/public/showcase/index.html:295
msgctxt "page:showcase/index.html"
msgid "Read the TH04 case study"
msgstr "Leggi il caso di studio TH04"

#: website/public/showcase/index.html:300
msgctxt "page:showcase/index.html"
msgid "Step-by-step guides"
msgstr "Guide passo-passo"

#: website/public/showcase/index.html:301
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 ""
"Le guide seguono un calcolo nativo, un'esportazione Electron e una richiesta"
" del browser. Ognuno inizia con un prompt e un obiettivo concreto."

#: website/public/showcase/index.html:305
msgctxt "page:showcase/index.html"
msgid "Read the guides"
msgstr "Leggi le guide"

#: website/public/showcase/index.html:6
msgctxt "page:showcase/index.html"
msgid "Reverse Engineering Case Studies — REA"
msgstr "Studi di casi di reverse engineering-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 ""
"Segui le indagini REA attraverso codice, figure e demo: un autenticatore "
"Android, DX-Ball , Notion , TH04 e un correttore di flag DownUnderCTF."

#: website/public/showcase/index.html:323
msgctxt "page:showcase/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/showcase/notion/index.html:107
msgctxt "page:showcase/notion/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/showcase/notion/index.html:199
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / Notion"
msgstr "{ph0}Casa{ph1} / {ph2}Vetrina{ph3} / Notion"

#: website/public/showcase/notion/index.html:202
msgctxt "page:showcase/notion/index.html"
msgid "Case study · Electron"
msgstr "Caso di studio * Electron"

#. {ph0}: <br />
#: website/public/showcase/notion/index.html:203
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "How Notion copies{ph0}text and HTML."
msgstr "Come copie Notion{ph0}testo e HTML."

#: website/public/showcase/notion/index.html:204
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 ""
"Traccia una chiamata negli appunti dall'API della pagina di Notion, "
"attraverso il precarico e il processo principale, allo scrittore degli "
"appunti di Electron."

#: website/public/showcase/notion/index.html:208
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:212
msgctxt "page:showcase/notion/index.html"
msgid "The bridge inside Notion's desktop package"
msgstr "Il ponte all'interno del pacchetto 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:214
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid ""
"{ph0}01 · Page-facing API{ph1} {ph2}{ph3}{ph4} {ph5}The preload exposes a "
"callable method.{ph6}"
msgstr ""
"{ph0}01 * API rivolta verso la pagina{ph1} {ph2}{ph3}{ph4} {ph5}Il precarico"
" espone un metodo richiamabile.{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:221
#, 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 * Precarico involucro{ph1} {ph2}{ph3}{ph4} {ph5}Il wrapper invia il "
"canale e gli argomenti.{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:228
#, 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 * Gestore del processo principale{ph1} {ph2}{ph3}{ph4} {ph5}Il "
"destinatario controlla quale pagina l'ha inviata.{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:235
#, 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 * Appunti di sistema{ph1} {ph2}{ph3}{ph4} {ph5} Electron scrive il "
"testo e l'HTML forniti.{ph6}"

#. {ph0}: <code class="notion-channel">notion:clipboard:write</code>
#: website/public/showcase/notion/index.html:243
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "One channel joins the two sides: {ph0}"
msgstr "Un canale unisce i due lati: {ph0}"

#: website/public/showcase/notion/index.html:247
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 ""
"Il codice pacchettizzato utilizza lo stesso canale nel processo di precarico"
" e principale. La risoluzione dei wrapper rivela le chiamate Electron dietro"
" quei nomi."

#: website/public/showcase/notion/index.html:256
msgctxt "page:showcase/notion/index.html"
msgid "In this case study"
msgstr "In questo caso di studio"

#. {ph0}: <a href="#clipboard">
#. {ph1}: </a>
#: website/public/showcase/notion/index.html:258
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "{ph0}Follow the clipboard bridge{ph1}"
msgstr "{ph0}Segui il ponte degli appunti{ph1}"

#. {ph0}: <a href="#rich-clipboard">
#. {ph1}: </a>
#: website/public/showcase/notion/index.html:259
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "{ph0}Keeping a block's structure{ph1}"
msgstr "{ph0}Mantenere la struttura di un blocco{ph1}"

#. {ph0}: <a href="#continue">
#. {ph1}: </a>
#: website/public/showcase/notion/index.html:260
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "{ph0}More examples and sources{ph1}"
msgstr "{ph0}Altri esempi e fonti{ph1}"

#: website/public/showcase/notion/index.html:265
msgctxt "page:showcase/notion/index.html"
msgid "Where does the copy operation go?"
msgstr "Dove va l'operazione di copia?"

#. {ph0}: <code>clipboard.write</code>
#: website/public/showcase/notion/index.html:266
#, 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 ""
"La pagina vede un metodo chiamato {ph0}. La sua implementazione nel "
"precarico è un wrapper. La domanda utile è cosa invia quel wrapper e quale "
"codice lo riceve."

#. {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:273
#, 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}Il tuo agente di codifica"

#: website/public/showcase/notion/index.html:277
#: website/public/showcase/notion/index.html:350
#: website/public/showcase/notion/index.html:379
#: website/public/showcase/notion/index.html:410
#: website/public/showcase/notion/index.html:438
msgctxt "page:showcase/notion/index.html"
msgid "Copy"
msgstr "Copia"

#. {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:286
#, 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}Utilizzare REA per tracciare come Notion copia testo e HTML "
"negli appunti di sistema. Mostra il codice ad ogni passaggio.{ph3}{ph4}{ph5}"

#: website/public/showcase/notion/index.html:294
msgctxt "page:showcase/notion/index.html"
msgid ""
"An example prompt with Notion's local application package available to your "
"coding agent."
msgstr ""
"Un prompt di esempio con il pacchetto di applicazioni locali di Notion "
"disponibile per l'agente di codifica."

#: website/public/showcase/notion/index.html:299
msgctxt "page:showcase/notion/index.html"
msgid "REA finds where to start reading"
msgstr "REA trova dove iniziare a leggere"

#: website/public/showcase/notion/index.html:300
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 ""
"Analizzando il precarico scheda con REA individua l'API esposta alla pagina "
"e la chiamata che invia una richiesta IPC. Entrambi i risultati sono dotati "
"di intervalli di origine nel pacchetto minificato:"

#: website/public/showcase/notion/index.html:306
msgctxt "page:showcase/notion/index.html"
msgid "REA findings → two places to open"
msgstr "REA risultati → due posti da aprire"

#. {ph0}: <code>analyze_javascript_application</code>
#: website/public/showcase/notion/index.html:321
#, 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 ""
"Campi selezionati da un fresco {ph0} risultato sul precarico scheda di "
"Notion, registrato con REA 4.1.0. Le posizioni utilizzano la linea e la "
"colonna zero del bundle originale."

#. {ph0}: <code>invokerInMain</code>
#. {ph1}: <code class="notion-channel">notion:clipboard:write</code>
#: website/public/showcase/notion/index.html:328
#, 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 ""
"L'agente apre tali posizioni, trova il membro degli appunti nell'API "
"assemblata e legge {ph0}. Il suo sito di chiamata fornisce {ph1}. Quel nome "
"dà all'agente qualcosa di preciso da cercare nel pacchetto principale. I "
"quattro estratti qui sotto mostrano il percorso che collega."

#: website/public/showcase/notion/index.html:337
msgctxt "page:showcase/notion/index.html"
msgid "Four short pieces of code"
msgstr "Quattro brevi pezzi di codice"

#: website/public/showcase/notion/index.html:338
msgctxt "page:showcase/notion/index.html"
msgid ""
"Simplified from the packaged JavaScript, with readable variable names. "
"Unrelated members are omitted."
msgstr ""
"Semplificato dal pacchetto JavaScript, con nomi di variabili leggibili. I "
"membri non correlati sono omessi."

#: website/public/showcase/notion/index.html:344
msgctxt "page:showcase/notion/index.html"
msgid "Start at the API exposed to the page"
msgstr "Inizia dall'API esposta alla pagina"

#. {ph0}: <code>invokerInMain</code>
#: website/public/showcase/notion/index.html:366
#, 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 ""
"Questo membro fornisce il nome del canale. L'attuazione di {ph0} ci dice "
"come la richiesta lascia il processo della pagina."

#: website/public/showcase/notion/index.html:373
msgctxt "page:showcase/notion/index.html"
msgid "Resolve the preload's wrapper"
msgstr "Risolvere il wrapper del precarico"

#. {ph0}: <code class="notion-channel">notion:clipboard:write</code>
#: website/public/showcase/notion/index.html:396
#, 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 ""
"La funzione restituita inoltra gli argomenti tramite IPC di richiesta e "
"risposta di Electron. Ora possiamo cercare {ph0} dal lato del processo "
"principale."

#: website/public/showcase/notion/index.html:404
msgctxt "page:showcase/notion/index.html"
msgid "Check how the receiver is registered"
msgstr "Controlla come è registrato il ricevitore"

#. {ph0}: <code>addListener</code>
#. {ph1}: <code>ipcMain.handle</code>
#: website/public/showcase/notion/index.html:425
#, 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 ""
"Il processo principale utilizza un altro wrapper. Sua {ph0} metodo registra "
"un {ph1} ricevitore per quel canale."

#: website/public/showcase/notion/index.html:432
msgctxt "page:showcase/notion/index.html"
msgid "Find the write and its sender check"
msgstr "Trova la scrittura e il suo controllo mittente"

#: website/public/showcase/notion/index.html:455
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 ""
"Questa è la destinazione. Dopo aver controllato il mittente, il gestore "
"passa i dati forniti all'API degli appunti di Electron. Il canale e i due "
"wrapper risolti collegano il metodo esposto a questa chiamata."

#: website/public/showcase/notion/index.html:466
msgctxt "page:showcase/notion/index.html"
msgid "How does a copied block keep its structure?"
msgstr "In che modo un blocco copiato mantiene la sua struttura?"

#. {ph0}: <code>electronApi.clipboard.write</code>
#: website/public/showcase/notion/index.html:467
#, 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 ""
"L'editor web di Notion invia testo e HTML attraverso {ph0}. Mantiene i dati "
"del blocco localmente e inserisce un ID nell'HTML copiato per collegarli."

#: website/public/showcase/notion/index.html:473
msgctxt "page:showcase/notion/index.html"
msgid "HTML links to saved block data"
msgstr "Collegamenti HTML ai dati di blocco salvati"

#: website/public/showcase/notion/index.html:497
msgctxt "page:showcase/notion/index.html"
msgid "Read the HTML ID"
msgstr "Leggi l'ID HTML"

#: website/public/showcase/notion/index.html:498
msgctxt "page:showcase/notion/index.html"
msgid "Find the same local ID"
msgstr "Trova lo stesso ID locale"

#: website/public/showcase/notion/index.html:499
msgctxt "page:showcase/notion/index.html"
msgid "Restore Notion block data"
msgstr "Ripristinare i dati del blocco Notion"

#: website/public/showcase/notion/index.html:501
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 ""
"Testo illustrativo e ID. Il test del modulo registrato ripristina i dati del"
" blocco quando gli ID corrispondono; una voce obsoleta restituisce solo "
"testo e HTML."

#: website/public/showcase/notion/index.html:507
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 ""
"In incolla, Notion cerca l'ID HTML e lo controlla rispetto alla copia "
"salvata. Gli ID corrispondenti ripristinano i dati del blocco."

#: website/public/showcase/notion/index.html:511
msgctxt "page:showcase/notion/index.html"
msgid "Clipboard format recorded from web assets cached on July 13, 2026."
msgstr ""
"Formato appunti registrato da risorse Web memorizzate nella cache il 13 "
"luglio 2026."

#: website/public/showcase/notion/index.html:517
msgctxt "page:showcase/notion/index.html"
msgid "More examples and sources"
msgstr "Altri esempi e fonti"

#: website/public/showcase/notion/index.html:519
msgctxt "page:showcase/notion/index.html"
msgid "Another example: Markdown tables"
msgstr "Un altro esempio: tabelle Markdown"

#: website/public/showcase/notion/index.html:520
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 analizza Markdown in dati di blocco. Questo esempio mostra come una "
"tabella diventa intestazione e righe di dati."

#: website/public/showcase/notion/index.html:525
msgctxt "page:showcase/notion/index.html"
msgid "A table through Notion's Markdown parser"
msgstr "Una tabella attraverso il parser Markdown di Notion"

#: website/public/showcase/notion/index.html:546
msgctxt "page:showcase/notion/index.html"
msgid ""
"Recorded output from an extracted Markdown parser. The table becomes rows "
"and cells."
msgstr ""
"Uscita registrata da un parser Markdown estratto. La tabella diventa righe e"
" celle."

#: website/public/showcase/notion/index.html:553
msgctxt "page:showcase/notion/index.html"
msgid "Another path: the offline SQLite connection"
msgstr "Un altro percorso: la connessione SQLite offline"

#. {ph0}: <code>getSqliteMeta</code>
#: website/public/showcase/notion/index.html:554
#, 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 ""
"Richieste di rendering di Notion {ph0} attraverso IPC. Il processo "
"principale crea un canale di messaggi e fornisce una porta al renderer e "
"l'altra a un processo di utilità SQLite. I successivi lotti di istruzione e "
"i risultati viaggiano su quella porta."

#: website/public/showcase/notion/index.html:560
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 ""
"In seguito a questo handoff spiega dove viene eseguito il lavoro del "
"database e perché tracciare solo la richiesta IPC iniziale manca la "
"conversazione successiva."

#: website/public/showcase/notion/index.html:567
msgctxt "page:showcase/notion/index.html"
msgid "Sources and how to read the excerpts"
msgstr "Fonti e come leggere gli estratti"

#. {ph0}: <code>app.asar</code>
#. {ph1}: <code>main/index.js</code>
#. {ph2}: <code>isNotionWebContents</code>
#: website/public/showcase/notion/index.html:568
#, 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 ""
"Il ponte degli appunti proviene da Notion Desktop 7.6.1 {ph0}: la scheda "
"precarico e {ph1}. Gli estratti espandono i nomi delle variabili minificate "
"e omettono codice non correlato; l'helper sender-check viene mostrato con il"
" suo sottostante {ph2} chiamare."

#. {ph0}: <code>747001</code>
#. {ph1}: <code>58169</code>
#. {ph2}: <code>736810</code>
#. {ph3}: <code>422457</code>
#: website/public/showcase/notion/index.html:576
#, 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 ""
"Gli esempi di Appunti virtuali e Markdown provengono da risorse Web "
"memorizzate nella cache il 13 luglio 2026, inclusi i moduli {ph0}, {ph1}, "
"{ph2} e {ph3}. Tali risorse hanno una loro versione. Le sonde salvate hanno "
"eseguito moduli estratti e piccoli cablaggi; i loro output descrivono quelle"
" sonde piuttosto che una sessione di interfaccia utente desktop catturata."

#: website/public/showcase/notion/index.html:584
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 ""
"Il risultato REA mostrato qui è un'analisi mirata del precarico scheda "
"salvato, registrato con il pacchetto REA 4.1.0 pubblicato. Individua l'API e"
" richiama l'operazione. Il membro degli appunti e il ricevitore "
"corrispondente sono collegati leggendo le loro implementazioni wrapper nel "
"pacchetto."

#. {ph0}: <code>422457</code>
#: website/public/showcase/notion/index.html:591
#, 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 ""
"L'esempio di Markdown utilizza il modulo parser {ph0}. I test dei moduli "
"salvati mostrano che entrambi i filtri di pagina e chat conservano questa "
"tabella. I parser paste/import, structured Markdown e AI/chat hanno punti di"
" ingresso separati e formati intermedi."

#. {ph0}: <a href="../../guides/javascript/" >
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/showcase/notion/index.html:599
#, 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} Guida all'applicazione JavaScript{ph1}{ph2}Seguire la funzione di "
"esportazione di una piccola applicazione Electron.{ph3}"

#. {ph0}: <a href="../dx-ball/">
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/showcase/notion/index.html:606
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid ""
"{ph0}DX-Ball reconstruction{ph1}{ph2}Follow native instructions to a checked"
" C function.{ph3}"
msgstr ""
"{ph0} DX-Ball ricostruzione{ph1}{ph2}Seguire le istruzioni native per una "
"funzione C selezionata.{ph3}"

#: website/public/showcase/notion/index.html:6
msgctxt "page:showcase/notion/index.html"
msgid "Notion Electron Reverse Engineering: Clipboard — REA"
msgstr "Notion Electron Reverse Engineering: Appunti-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 ""
"Segui l'API degli appunti di Notion attraverso il precarico di Electron, i "
"wrapper IPC e il processo principale, con brevi estratti di codice e uno "
"sguardo al suo ricco formato di appunti."

#: website/public/showcase/notion/index.html:255
msgctxt "page:showcase/notion/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/showcase/notion/index.html:263
msgctxt "page:showcase/notion/index.html"
msgid "Notion Electron case study"
msgstr "Studio di caso Notion Electron"

#: website/public/showcase/notion/index.html:277
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion analysis prompt"
msgstr "Copia il prompt di analisi Notion"

#: website/public/showcase/notion/index.html:350
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion preload excerpt"
msgstr "Copia estratto di precarico Notion"

#: website/public/showcase/notion/index.html:379
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion invoke wrapper excerpt"
msgstr "Copia Notion invoke wrapper estratto"

#: website/public/showcase/notion/index.html:410
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion handler wrapper excerpt"
msgstr "Copia estratto del wrapper del gestore Notion"

#: website/public/showcase/notion/index.html:438
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion clipboard receiver excerpt"
msgstr "Copia estratto del ricevitore degli appunti Notion"

#: website/public/showcase/notion/index.html:493
msgctxt "page:showcase/notion/index.html"
msgid "Restoring rich clipboard data on paste"
msgstr "Ripristino dei dati degli appunti ricchi su incolla"

#: website/public/showcase/notion/index.html:637
msgctxt "page:showcase/notion/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/showcase/th04/index.html:107
msgctxt "page:showcase/th04/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/showcase/th04/index.html:199
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / TH04"
msgstr "{ph0}Casa{ph1} / {ph2}Vetrina{ph3} / TH04"

#: website/public/showcase/th04/index.html:202
msgctxt "page:showcase/th04/index.html"
msgid "Case study · Touhou 4: Lotus Land Story"
msgstr "Caso di studio · Touhou 4: Lotus Land Story"

#. {ph0}: <br />
#: website/public/showcase/th04/index.html:203
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "Reconstructing TH04's{ph0}bullet patterns."
msgstr "Ricostruzione di TH04{ph0}modelli di proiettile."

#: website/public/showcase/th04/index.html:204
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 ""
"Un anello di proiettili inizia con un calcolo dell'angolo corto. Utilizzare "
"REA per ispezionare la funzione DOS originale, quindi seguire le sue "
"istruzioni in C++leggibile."

#: website/public/showcase/th04/index.html:209
msgctxt "page:showcase/th04/index.html"
msgid "PC-98 · 16-bit DOS · C++ and assembly"
msgstr "PC-98 * DOS a 16 bit * C++ e assemblaggio"

#: website/public/showcase/th04/index.html:210
msgctxt "page:showcase/th04/index.html"
msgid "View the TH04 reconstruction"
msgstr "Visualizza la ricostruzione TH04"

#: website/public/showcase/th04/index.html:216
msgctxt "page:showcase/th04/index.html"
msgid "From original instructions to checked source"
msgstr "Dalle istruzioni originali alla fonte controllata"

#. {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:218
#, 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 * Gioco originale{ph1}{ph2}PRINCIPALE.EXE{ph3}{ph4}L'eseguibile "
"PC-98 e il suo helper bullet-angle.{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:225
#, 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 * Ispezionare con REA {ph1}{ph2}Istruzioni + "
"riferimenti{ph3}{ph4}Verificare il codice DOS caricato e leggere il calcolo "
"dell'angolo dall'eseguibile.{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:233
#, 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 * Leggere il C++{ph1}{ph2}Spazio → obiettivo → "
"ruota{ph3}{ph4}Collegare ogni operazione alla ricostruzione mantenuta.{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:240
#, 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 * Controllare la fonte{ph1}{ph2}2,139 byte corrispondenti{ph3}{ph4}I"
" controlli del compilatore registrati coprono il codice di generazione "
"bullet che contiene questo helper.{ph5}"

#: website/public/showcase/th04/index.html:249
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 restituisce il codice originale e le sue prove di analisi. Il progetto "
"TH04 fornisce i controlli di origine e compilatore mantenuti."

#: website/public/showcase/th04/index.html:257
msgctxt "page:showcase/th04/index.html"
msgid "In this case study"
msgstr "In questo caso di studio"

#. {ph0}: <a href="#ring">
#. {ph1}: </a>
#: website/public/showcase/th04/index.html:259
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}The bullet ring{ph1}"
msgstr "{ph0}Il bullet ring{ph1}"

#. {ph0}: <a href="#rea">
#. {ph1}: </a>
#: website/public/showcase/th04/index.html:260
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}What REA returns{ph1}"
msgstr "{ph0}Cosa restituisce REA{ph1}"

#. {ph0}: <a href="#source">
#. {ph1}: </a>
#: website/public/showcase/th04/index.html:261
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}Assembly to C++{ph1}"
msgstr "{ph0}Montaggio in C++{ph1}"

#. {ph0}: <a href="#checking">
#. {ph1}: </a>
#: website/public/showcase/th04/index.html:262
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}Checking the source{ph1}"
msgstr "{ph0}Verifica della fonte{ph1}"

#. {ph0}: <a href="#project">
#. {ph1}: </a>
#: website/public/showcase/th04/index.html:263
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}The full project{ph1}"
msgstr "{ph0}Il progetto completo{ph1}"

#: website/public/showcase/th04/index.html:268
msgctxt "page:showcase/th04/index.html"
msgid "How a ring aims at the player"
msgstr "Come un anello mira al giocatore"

#: website/public/showcase/th04/index.html:269
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 ""
"L'attacco di Elly richiede un anello mirato con un conteggio iniziale di 16."
" Un aiutante calcola la direzione di ogni proiettile. Lo stesso anello può "
"affrontare una direzione fissa o girare verso il giocatore."

#. {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:276
#, 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}Il tuo agente di codifica"

#: website/public/showcase/th04/index.html:281
#: website/public/showcase/th04/index.html:337
#: website/public/showcase/th04/index.html:514
#: website/public/showcase/th04/index.html:548
msgctxt "page:showcase/th04/index.html"
msgid "Copy"
msgstr "Copia"

#. {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:290
#, 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}Usa REA per scoprire come TH04 crea un anello di proiettili "
"e lo mira al giocatore. Spiega il calcolo e mostra il codice.{ph3}{ph4}{ph5}"

#: website/public/showcase/th04/index.html:299
msgctxt "page:showcase/th04/index.html"
msgid ""
"An example prompt, with the original executable and reconstruction checkout "
"available locally."
msgstr ""
"Un prompt di esempio, con l'eseguibile originale e il checkout di "
"ricostruzione disponibili localmente."

#. {ph0}: <code>0, 16, 32, …, 240</code>
#: website/public/showcase/th04/index.html:303
#, 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 memorizza una rotazione completa in senso orario in 256 unità angolari."
" Per 16 punti, ogni indice aggiunge 16 unità: {ph0}. Aggiungendo la "
"direzione del giocatore ruota insieme quelle posizioni."

#. {ph0}: <a href="../../assets/figures/th04-bullet-ring.svg" >
#. {ph1}: </a >
#: website/public/showcase/th04/index.html:323
#, 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 ""
"Un'illustrazione della matematica dell'angolo recuperato per il conteggio "
"16, la direzione del giocatore 40 e la rotazione del modello 0. {ph0}Apri "
"figura{ph1}"

#: website/public/showcase/th04/index.html:331
msgctxt "page:showcase/th04/index.html"
msgid "The firing template in the recovered source"
msgstr "Il modello di cottura nella fonte recuperata"

#: website/public/showcase/th04/index.html:336
msgctxt "page:showcase/th04/index.html"
msgid "Elly's ring attack · source excerpt"
msgstr "Elly's ring attack * fonte estratto"

#. {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:351
#, 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 ""
"Queste linee selezionano il modello prima della difficoltà e della messa a "
"punto delle prestazioni. {ph0}Leggi la fonte dell'attacco{ph1}."

#: website/public/showcase/th04/index.html:362
msgctxt "page:showcase/th04/index.html"
msgid "What REA returns"
msgstr "Cosa restituisce REA"

#. {ph0}: <code>bullet_velocity_and_angle_set()</code>
#: website/public/showcase/th04/index.html:363
#, 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 ""
"Controlliamo {ph0}, la funzione che imposta la velocità e l'angolo di ogni "
"proiettile.  REA restituisce le sue istruzioni, pseudocodice e riferimenti. "
"Tre parti di questo risultato spiegano il modello."

#: website/public/showcase/th04/index.html:371
msgctxt "page:showcase/th04/index.html"
msgid "Check the DOS image before reading its code"
msgstr "Controllare l'immagine DOS prima di leggere il suo codice"

#: website/public/showcase/th04/index.html:392
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 ""
"Il controllo lega il codice caricato e i record di rilocazione "
"all'eseguibile fornito. Il percorso sopra è abbreviato per la "
"visualizzazione."

#: website/public/showcase/th04/index.html:398
msgctxt "page:showcase/th04/index.html"
msgid "Read the ring's multiply and divide"
msgstr "Leggi l'anello moltiplica e dividi"

#. {ph0}: <code>SI</code>
#. {ph1}: <code>DS:53AF</code>
#. {ph2}: <code>bullet_template.count</code>
#: website/public/showcase/th04/index.html:416
#, 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} contiene l'indice proiettile. Lo spostamento lo moltiplica per 256, "
"quindi la divisione utilizza il conteggio letto da {ph1}. I nomi di origine "
"mantenuti quel campo {ph2}. La sequenza completa appare sotto."

#: website/public/showcase/th04/index.html:425
msgctxt "page:showcase/th04/index.html"
msgid "Find where the pattern turns toward the player"
msgstr "Trova dove il modello gira verso il giocatore"

#: website/public/showcase/th04/index.html:446
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 ""
"Gli operandi di istruzione espongono due differenze di coordinate e un "
"assistente di direzione. Il suo valore di ritorno viene aggiunto all'angolo "
"dell'anello relativo. I nomi di origine rendono leggibili quegli indirizzi; "
"REA consente all'agente di controllare le operazioni originali dietro di "
"loro."

#: website/public/showcase/th04/index.html:457
msgctxt "page:showcase/th04/index.html"
msgid "From assembly to readable C++"
msgstr "Dall'assembly al C++leggibile"

#: website/public/showcase/th04/index.html:458
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 ""
"Selezionare un passaggio che corrisponda alle istruzioni originali con il "
"calcolo dell'angolo. Questo riepilogo segue il percorso dell'anello mirato; "
"la fonte completa gestisce anche spread, stack e modelli casuali."

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/th04/index.html:469
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}01{ph1} Index"
msgstr "{ph0}01{ph1} Indice"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/th04/index.html:477
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}02{ph1} Space"
msgstr "{ph0}02{ph1} Spazio"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/th04/index.html:485
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}03{ph1} Aim"
msgstr "{ph0}03{ph1} Obiettivo"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/th04/index.html:493
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}04{ph1} Rotate"
msgstr "{ph0}04{ph1} Ruotare"

#. {ph0}: <span>
#. {ph1}: </span>
#: website/public/showcase/th04/index.html:501
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}05{ph1} Store"
msgstr "{ph0}05{ph1} Memorizzare"

#: website/public/showcase/th04/index.html:513
msgctxt "page:showcase/th04/index.html"
msgid "REA · original 16-bit instructions"
msgstr "REA * istruzioni originali a 16 bit"

#: website/public/showcase/th04/index.html:547
msgctxt "page:showcase/th04/index.html"
msgid "Readable C++ · aimed-ring summary"
msgstr "C++ leggibile * riepilogo dell'anello mirato"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>SI</code>
#: website/public/showcase/th04/index.html:576
#, 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 * Leggere l'indice proiettile.{ph1} L'argomento stack viene caricato"
" in {ph2}. In un anello a 16 proiettili, questo indice membro va da 0 a 15."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>SHL AX,8</code>
#. {ph3}: <code>IDIV</code>
#: website/public/showcase/th04/index.html:581
#, 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 * Spazio le direzioni intorno a un giro completo.{ph1} {ph2} "
"moltiplicato per 256. Il conteggio è zero-esteso in una parola, quindi {ph3}"
" divide il prodotto per quel conteggio. Per il conteggio 16, ogni indice "
"avanza di 16 unità angolari."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>AX</code>
#: website/public/showcase/th04/index.html:588
#, 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 * Aggiungi la direzione del giocatore.{ph1} Le due sottrazioni "
"formano le coordinate player-minus-origin. L'assistente di direzione "
"restituisce un angolo in {ph2}; aggiungendo si gira l'intero anello verso il"
" giocatore."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>ADD AL,[0x53ad]</code>
#: website/public/showcase/th04/index.html:594
#, 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 * Aggiungere la rotazione del modello.{ph1} {ph2} aggiunge l'angolo "
"del modello. Il modello iniziale di Elly lo imposta a zero; altri modelli "
"possono utilizzare lo stesso helper con una rotazione."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>AL</code>
#: website/public/showcase/th04/index.html:600
#, 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 * Mantenere l'angolo finale in un byte.{ph1} Il negozio scrive {ph2}"
" al campo angolo di spawn. I valori si chiudono dopo 255, proprio come fa il"
" cast di byte senza segno. La sorgente circostante converte anche questo "
"angolo e velocità in velocità."

#: website/public/showcase/th04/index.html:609
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 ""
"L'assemblaggio seleziona il ramo dell'anello di mira, il calcolo "
"dell'obiettivo e l'archivio finale. Il C++ sopra è un riassunto leggibile. I"
" controlli del compilatore riportati di seguito si applicano all'origine "
"mantenuta nel progetto collegato."

#: website/public/showcase/th04/index.html:615
msgctxt "page:showcase/th04/index.html"
msgid "Read the maintained ring and aim source"
msgstr "Leggi l'anello mantenuto e la fonte aim"

#. {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:644
#, 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}Anello macro{ph1} · {ph2}Sorgente di mira e velocità{ph3} · "
"{ph4}Rappresentazione angolare{ph5}"

#: website/public/showcase/th04/index.html:664
msgctxt "page:showcase/th04/index.html"
msgid "Checking the maintained source"
msgstr "Verifica della fonte mantenuta"

#: website/public/showcase/th04/index.html:665
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 ""
"I controlli registrati del progetto TH04 compilano il codice di generazione "
"bullet, incluso questo helper, con la sua toolchain Turbo C++ 4.0 J "
"bloccata."

#: website/public/showcase/th04/index.html:672
msgctxt "page:showcase/th04/index.html"
msgid "2,139 matching bytes"
msgstr "2,139 byte corrispondenti"

#: website/public/showcase/th04/index.html:673
msgctxt "page:showcase/th04/index.html"
msgid ""
"The compiled bullet-generation code matches a 2,139-byte section of the "
"original executable."
msgstr ""
"Il codice di generazione bullet compilato corrisponde a una sezione di 2.139"
" byte dell'eseguibile originale."

#: website/public/showcase/th04/index.html:679
msgctxt "page:showcase/th04/index.html"
msgid "Two clean builds"
msgstr "Due build pulite"

#: website/public/showcase/th04/index.html:680
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 ""
"Due build separate producono gli stessi byte corrispondenti. Gli hash di "
"input registrati corrispondono alla sorgente mantenuta mostrata qui."

#. {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:686
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "Recorded on 3 October 2026. {ph0}Read the compiler checks{ph1}."
msgstr ""
"Registrato il 3 ottobre 2026. {ph0}Leggi i controlli del compilatore{ph1}."

#: website/public/showcase/th04/index.html:694
msgctxt "page:showcase/th04/index.html"
msgid "Target identity and analysis scope"
msgstr "Identità target e ambito di analisi"

#: website/public/showcase/th04/index.html:699
msgctxt "page:showcase/th04/index.html"
msgid "Original target"
msgstr "Obiettivo originale"

#. {ph0}: <code>MAIN.EXE</code>
#: website/public/showcase/th04/index.html:700
#, 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:703
msgctxt "page:showcase/th04/index.html"
msgid "Helper entry"
msgstr "Helper entry"

#. {ph0}: <code>0x2cfc8</code>
#: website/public/showcase/th04/index.html:704
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0} in REA's loaded image"
msgstr "{ph0} nell ' immagine caricata di REA"

#: website/public/showcase/th04/index.html:707
msgctxt "page:showcase/th04/index.html"
msgid "Original file offset"
msgstr "Offset file originale"

#. {ph0}: <code>0x1e7c8</code>
#. {ph1}: <code>address_to_file_offset</code>
#: website/public/showcase/th04/index.html:708
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}, returned by {ph1}"
msgstr "{ph0}, restituito da {ph1}"

#: website/public/showcase/th04/index.html:714
msgctxt "page:showcase/th04/index.html"
msgid "Recorded code inspection"
msgstr "Ispezione del codice registrato"

#: website/public/showcase/th04/index.html:715
msgctxt "page:showcase/th04/index.html"
msgid "REA 4.1.0 · 7 October 2026"
msgstr "REA 4.1.0 * 7 Ottobre 2026"

#: website/public/showcase/th04/index.html:720
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 ""
"I controlli del compilatore coprono la sezione completa del codice bullet-"
"add, incluso questo helper. Confrontano anche il suo contributo alla MAPPA e"
" il trasferimento sovrapposto."

#. {ph0}: <code>0x1000</code>
#: website/public/showcase/th04/index.html:725
#, 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 verificato l'immagine di carico statico DOS al segmento di carico {ph0}."
" I suoi indirizzi descrivono quell'immagine di analisi. Il risultato della "
"funzione riporta 503 byte del corpo in due intervalli su un intervallo di "
"517 byte; le istruzioni selezionate sopra si trovano in quegli intervalli "
"riportati."

#. {ph0}: <code>0d72e980</code>
#: website/public/showcase/th04/index.html:732
#, 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 ""
"I nomi dei sorgenti e i controlli del compilatore provengono dal checkpoint "
"TH04 {ph0}. Le precedenti osservazioni di ricostruzione utilizzavano gli "
"script di analisi del progetto; questa pagina aggiunge una nuova ispezione "
"REA dello stesso obiettivo originale. L'identità del gioco in dotazione è "
"bloccata dal suo repository manifest, con la provenienza indipendente di "
"pristine-dump ancora aperta."

#: website/public/showcase/th04/index.html:740
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 ""
"La figura illustra il calcolo dell'angolo. I controlli di gioco completi, i "
"tempi e il comportamento hardware PC-98 hanno controlli di runtime separati "
"nel progetto di ricostruzione."

#: website/public/showcase/th04/index.html:749
msgctxt "page:showcase/th04/index.html"
msgid "The full TH04 reconstruction"
msgstr "La ricostruzione completa TH04"

#: website/public/showcase/th04/index.html:750
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 ""
"Il progetto costruisce quattro prodotti DOS del gioco da mantenuto C++ e "
"assembly. Oltre alla generazione di proiettili, la fonte copre fasi, boss, "
"rendering, input, menu, finali e gestione dei punteggi."

#. {ph0}: <a class="text-link" href="https://github.com/N0zoM1z0/th04" >
#. {ph1}: </a >
#: website/public/showcase/th04/index.html:756
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}Explore the TH04 repository{ph1}"
msgstr "{ph0}Esplora il repository 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:762
#, 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}Fonte di generazione di proiettili{ph1}{ph2}L'helper completo, altri "
"tipi di pattern e template tuning.{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:771
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid ""
"{ph0}DOS build and run guide{ph1}{ph2}Build the source and test it in the "
"project's PC-98 emulator workflow.{ph3}"
msgstr ""
"{ph0}DOS costruire ed eseguire guida{ph1}{ph2}Crea il sorgente e testalo nel"
" flusso di lavoro dell'emulatore PC-98 del progetto.{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:780
#, 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}Stato attuale del progetto{ph1}{ph2}Verifica DOS e la porta x64 nativa "
"separata.{ph3}"

#: website/public/showcase/th04/index.html:6
msgctxt "page:showcase/th04/index.html"
msgid "TH04 Reverse Engineering: DOS Bullet Patterns — REA"
msgstr "TH04 Reverse Engineering: modelli di proiettile 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 ""
"Ispezionare il codice DOS originale a 16 bit di TH04 con REA . Seguire "
"l'assemblea e recuperato C++ per vedere come un anello di proiettili è "
"distanziato e rivolto al giocatore."

#: website/public/showcase/th04/index.html:256
msgctxt "page:showcase/th04/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/showcase/th04/index.html:266
msgctxt "page:showcase/th04/index.html"
msgid "TH04 bullet-pattern case study"
msgstr "Caso di studio TH04 bullet-pattern"

#: website/public/showcase/th04/index.html:281
msgctxt "page:showcase/th04/index.html"
msgid "Copy TH04 example prompt"
msgstr "Copia il prompt di esempio di TH04"

#: website/public/showcase/th04/index.html:309
msgctxt "page:showcase/th04/index.html"
msgid ""
"TH04 fixed and aimed bullet rings; scroll horizontally on smaller screens"
msgstr ""
"TH04 anelli di proiettile fissi e mirati; scorrere orizzontalmente su "
"schermi più piccoli"

#: website/public/showcase/th04/index.html:315
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 ""
"Due diagrammi di un anello a 16 proiettili. L'anello fisso inizia "
"dall'angolo zero. L'aggiunta di una direzione del giocatore di 40 ruota ogni"
" direzione dello stesso importo; il primo punto evidenziato punta verso il "
"giocatore. Entrambi mantengono una spaziatura di 16 unità angolari o 22,5 "
"gradi."

#: website/public/showcase/th04/index.html:337
msgctxt "page:showcase/th04/index.html"
msgid "Copy TH04 firing template"
msgstr "Copia TH04 modello di cottura"

#: website/public/showcase/th04/index.html:464
msgctxt "page:showcase/th04/index.html"
msgid "Follow the TH04 aimed-ring calculation"
msgstr "Seguire il calcolo dell'anello di puntamento TH04"

#: website/public/showcase/th04/index.html:514
msgctxt "page:showcase/th04/index.html"
msgid "Copy TH04 assembly excerpt"
msgstr "Copia estratto dell'assemblea TH04"

#: website/public/showcase/th04/index.html:548
msgctxt "page:showcase/th04/index.html"
msgid "Copy readable aimed-ring calculation"
msgstr "Copia leggibile mirato-anello di calcolo"

#: website/public/showcase/th04/index.html:806
msgctxt "page:showcase/th04/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/assets/main.js:21
msgctxt "runtime"
msgid "Copied"
msgstr "Copiare"

#: website/public/assets/main.js:32
msgctxt "runtime"
msgid "Selected"
msgstr "Selezionato"

#: website/public/assets/main.js:23
msgctxt "runtime"
msgid "Code copied to clipboard."
msgstr "Codice copiato negli appunti."

#: website/public/assets/main.js:34
msgctxt "runtime"
msgid "Code selected. Use your keyboard to copy it."
msgstr "Codice selezionato. Usa la tastiera per copiarlo."

#: website/public/assets/main.js:158
#, python-brace-format
msgctxt "runtime"
msgid "REA on GitHub ({count})"
msgstr "REA su GitHub ({count})"

#: website/public/assets/dino-demo.js:77
#, python-brace-format
msgctxt "runtime"
msgid "Distance {distance}"
msgstr "Distanza {distance}"

#: website/public/assets/dino-demo.js:87
msgctxt "runtime"
msgid "Hit a cactus. Try another speed."
msgstr "Colpisci un cactus. Prova un'altra velocità."

#: website/public/assets/dino-demo.js:87
msgctxt "runtime"
msgid "Space or Jump ↑"
msgstr "Spazio o Salto ↑"

#: website/public/assets/dino-demo.js:97
msgctxt "runtime"
msgid "Play again"
msgstr "Gioca di nuovo"

#: website/public/assets/dino-demo.js:97
#: website/public/assets/dino-demo.js:111
msgctxt "runtime"
msgid "Play"
msgstr "Gioca"

#: website/public/assets/dino-demo.js:171
msgctxt "runtime"
msgid "Pause"
msgstr "Pausa"

#: website/public/assets/dino-demo.js:112
msgctxt "runtime"
msgid "Press Play, then jump over the cactus."
msgstr "Premere Play, quindi saltare sopra il cactus."

#: website/public/assets/dino-demo.js:147
msgctxt "runtime"
msgid "Hit a cactus. Press Play again, or change the speed and restart."
msgstr ""
"Colpisci un cactus. Premere di nuovo Play o modificare la velocità e "
"riavviare."

#: website/public/assets/dino-demo.js:172
msgctxt "runtime"
msgid "Running. Space or Jump clears a cactus."
msgstr "Esecuzione. Spazio o salto cancella un cactus."

#: 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 "Sostare. Premere Play per continuare."

#: website/public/assets/dino-demo.js:203
#, python-brace-format
msgctxt "runtime"
msgid "Fixed speed: {speed}. Space or Jump clears a cactus."
msgstr "Velocità fissa: {speed}. Spazio o salto cancella un cactus."

#: website/public/assets/dino-demo.js:206
#, python-brace-format
msgctxt "runtime"
msgid "Fixed speed: {speed}. Press Play to try it."
msgstr "Velocità fissa: {speed}. Premere Play per provarlo."

#: website/public/assets/dino-demo.js:215
msgctxt "runtime"
msgid "Recovered rule: start at 6, then increase toward 13."
msgstr "Regola recuperata: inizia da 6, quindi aumenta verso 13."

#: website/public/assets/dino-demo.js:216
#, python-brace-format
msgctxt "runtime"
msgid "Fixed speed: {speed}."
msgstr "Velocità fissa: {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 ""
"Rigiocato la regola recuperata. Tutti e quattro i valori corrispondono al "
"controllo del gioco originale controllato quando arrotondati a tre decimali."

#: 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 ""
"Il replay differisce dai valori di gioco originali registrati. Confronta la "
"regola di velocità e le impostazioni di cui sopra."

#: website/public/assets/aegis-demo.js:22
#, python-brace-format
msgctxt "runtime"
msgid "{start}–{end} seconds"
msgstr "{start}–{end} secondo"

#: website/public/assets/aegis-demo.js:29
#, python-brace-format
msgctxt "runtime"
msgid "{seconds} seconds, time block {block}"
msgstr "{seconds} secondi, blocco di tempo {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 ""
"Il calcolo interattivo non è disponibile in questo browser. L'esempio mostra"
" il codice a 59 secondi."

#: website/public/assets/aegis-demo.js:62
msgctxt "runtime"
msgid "Checking…"
msgstr "Verificare…"

#: 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} controlli superati (sei casi di riferimento, a sei e otto"
" cifre)."

#: website/public/assets/aegis-demo.js:81
msgctxt "runtime"
msgid "Could not run the reference checks. Try again."
msgstr "Impossibile eseguire i controlli di riferimento. Riprova."

#: website/public/assets/figures/analyst-thinking.svg:2
msgctxt "figure:analyst-thinking.svg"
msgid "An analyst thinking at a computer"
msgstr "Un analista che pensa a un computer"

#: 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 "Un controllo rivela un carattere"

#: 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 ""
"La settima maschera seleziona solo la posizione 21 nella griglia di ingresso"
" sei per sei. Il suo codice carattere deve essere uguale a 55, quindi il "
"carattere è 7. Le altre maschere selezionano posizioni diverse e forniscono "
"ulteriori equazioni."

#: 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 ""
"Il settimo controllo. Le etichette delle celle sono posizioni di input, a "
"partire da 0."

#: website/public/assets/figures/ctf-mask-equation.svg:27
msgctxt "figure:ctf-mask-equation.svg"
msgid "Encoded mask: −21, +1, −14, 0"
msgstr "Maschera codificata: -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 "Salta 21 celle. Selezionare 1. Salta 14. Fermati a 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 "Solo una cella contribuisce a questa somma"

#: 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 "La posizione 21 nella bandiera deve contenere 7."

#: website/public/assets/figures/ctf-mask-equation.svg:37
msgctxt "figure:ctf-mask-equation.svg"
msgid "Selected: one cell"
msgstr "Selezionato: una cella"

#: website/public/assets/figures/ctf-mask-equation.svg:38
msgctxt "figure:ctf-mask-equation.svg"
msgid "26 masks give 26 equations."
msgstr "26 maschere danno 26 equazioni."

#: website/public/assets/figures/ctf-mask-equation.svg:39
msgctxt "figure:ctf-mask-equation.svg"
msgid "Solve them together to find the flag."
msgstr "Risolverli insieme per trovare la bandiera."

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:2
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:20
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "DX-Ball sound-pan investigation"
msgstr "DX-Ball suono-indagine pan"

#: 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 fornisce le istruzioni, il chiamante e le prove di lettura dei byte per "
"una funzione DX-Ball. Un input stack viene moltiplicato per 1,5625, "
"compensato da 500, ridimensionato e convertito in un numero intero. Il C "
"mantenuto viene controllato in 3.205 casi originali-x86 e un replay separato"
" del compilatore a 63 byte."

# 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 "Intero"

# 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 "ritorno"

# 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 "Funzione ricostruita"

# Reviewed for technical meaning and concise diagram labels.
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:47
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "Maintained C"
msgstr "C ricostruito"

# 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 "Chiamata all’urto"

#: 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 "Codice originale"

# 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 "confronto"

# 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 test"

# 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 uguali"

#: website/public/assets/figures/rea-investigation-flow.svg:2
#: website/public/assets/figures/rea-investigation-flow.svg:22
msgctxt "figure:rea-investigation-flow.svg"
msgid "REA investigation flow"
msgstr "REA flusso di indagine"

#: 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 ""
"Fai una domanda su un target locale.  REA ispeziona e traccia tramite "
"adattatori di analisi locali, restituisce prove e supporta le domande di "
"follow-up mentre l'agente spiega, implementa e verifica."

# 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. Chiedi"

# 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 "Agente + file locale"

# 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. Analizza e segui"

#: 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. Leggi le prove"

# 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 "Codice / riferimenti /"

# 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 "incognite"

# 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. Applica"

# 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 "Il tuo agente"

# 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 "Spiega / crea / verifica"

# 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 "Strumenti di analisi"

# 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 "Adattatori locali"

# 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 "Domanda successiva"

#: 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: spaziatura e puntamento di un anello di proiettili"

#: 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 ""
"Un giro in senso orario completo ha 256 unità angolari. Sedici proiettili "
"partono da angoli zero, sedici, trentadue, fino a 240. Aggiungendo un "
"esempio di direzione giocatore di quaranta giri tutte le sedici direzioni "
"insieme; i primi punti elenco al giocatore. La rotazione del modello è zero."

#: website/public/assets/figures/th04-bullet-ring.svg:24
msgctxt "figure:th04-bullet-ring.svg"
msgid "Fixed ring"
msgstr "Anello fisso"

#: website/public/assets/figures/th04-bullet-ring.svg:25
msgctxt "figure:th04-bullet-ring.svg"
msgid "First bullet: angle 0"
msgstr "Primo proiettile: angolo 0"

#: website/public/assets/figures/th04-bullet-ring.svg:26
msgctxt "figure:th04-bullet-ring.svg"
msgid "Aimed ring"
msgstr "Anello mirato"

#: website/public/assets/figures/th04-bullet-ring.svg:27
msgctxt "figure:th04-bullet-ring.svg"
msgid "First bullet: player direction"
msgstr "Primo proiettile: direzione giocatore"

# 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 "Centro"

#: website/public/assets/figures/th04-bullet-ring.svg:105
msgctxt "figure:th04-bullet-ring.svg"
msgid "Player"
msgstr "Giocatore"

#: 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 "Stessa spaziatura: 256 ÷ 16 = 16 unità angolari = 22,5°"

#: website/public/blog/index.html:118
#: website/public/blog/reverse-engineering-models/index.html:118
#: website/public/blog/touhou-reconstruction/index.html:118
#: website/public/contributors/index.html:119
#: website/public/examples/dino-lab/index.html:119
#: website/public/faq/index.html:118
#: website/public/first-investigation/index.html:118
#: website/public/get-started/index.html:118
#: website/public/guides/browser/index.html:118
#: website/public/guides/index.html:118
#: website/public/guides/javascript/index.html:118
#: website/public/guides/native/index.html:118 website/public/index.html:120
#: website/public/showcase/aegis/index.html:119
#: website/public/showcase/ctf/index.html:118
#: website/public/showcase/dx-ball/index.html:118
#: website/public/showcase/index.html:118
#: website/public/showcase/notion/index.html:118
#: website/public/showcase/th04/index.html:118
msgctxt "shared"
msgid "Showcases"
msgstr "Casi pratici"

#: website/public/blog/index.html:119
#: website/public/blog/reverse-engineering-models/index.html:119
#: website/public/blog/touhou-reconstruction/index.html:119
#: website/public/contributors/index.html:120
#: website/public/examples/dino-lab/index.html:120
#: website/public/faq/index.html:119
#: website/public/first-investigation/index.html:119
#: website/public/get-started/index.html:119
#: website/public/guides/browser/index.html:119
#: website/public/guides/index.html:119
#: website/public/guides/javascript/index.html:119
#: website/public/guides/native/index.html:119 website/public/index.html:121
#: website/public/showcase/aegis/index.html:120
#: website/public/showcase/ctf/index.html:119
#: website/public/showcase/dx-ball/index.html:119
#: website/public/showcase/index.html:119
#: website/public/showcase/notion/index.html:119
#: website/public/showcase/th04/index.html:119
msgctxt "shared"
msgid "Blog"
msgstr "Blog"

#: website/public/blog/index.html:117
#: website/public/blog/reverse-engineering-models/index.html:117
#: website/public/blog/touhou-reconstruction/index.html:117
#: website/public/contributors/index.html:118
#: website/public/examples/dino-lab/index.html:118
#: website/public/faq/index.html:117
#: website/public/first-investigation/index.html:117
#: website/public/get-started/index.html:117
#: website/public/guides/browser/index.html:117
#: website/public/guides/index.html:117
#: website/public/guides/javascript/index.html:117
#: website/public/guides/native/index.html:117 website/public/index.html:119
#: website/public/showcase/aegis/index.html:118
#: website/public/showcase/ctf/index.html:117
#: website/public/showcase/dx-ball/index.html:117
#: website/public/showcase/index.html:117
#: website/public/showcase/notion/index.html:117
#: website/public/showcase/th04/index.html:117
msgctxt "shared"
msgid "Get started"
msgstr "Inizia"

#: website/public/blog/index.html:120
#: website/public/blog/reverse-engineering-models/index.html:120
#: website/public/blog/touhou-reconstruction/index.html:120
#: website/public/contributors/index.html:121
#: website/public/examples/dino-lab/index.html:121
#: website/public/faq/index.html:120
#: website/public/first-investigation/index.html:120
#: website/public/get-started/index.html:120
#: website/public/guides/browser/index.html:120
#: website/public/guides/index.html:120
#: website/public/guides/javascript/index.html:120
#: website/public/guides/native/index.html:120 website/public/index.html:122
#: website/public/showcase/aegis/index.html:121
#: website/public/showcase/ctf/index.html:120
#: website/public/showcase/dx-ball/index.html:120
#: website/public/showcase/index.html:120
#: website/public/showcase/notion/index.html:120
#: website/public/showcase/th04/index.html:120
msgctxt "shared"
msgid "Guides"
msgstr "Guide"

#: website/public/blog/index.html:242
#: website/public/blog/reverse-engineering-models/index.html:881
#: website/public/blog/touhou-reconstruction/index.html:1078
#: website/public/contributors/index.html:1129
#: website/public/examples/dino-lab/index.html:473
#: website/public/faq/index.html:571
#: website/public/first-investigation/index.html:532
#: website/public/get-started/index.html:1815
#: website/public/guides/browser/index.html:505
#: website/public/guides/index.html:280
#: website/public/guides/javascript/index.html:501
#: website/public/guides/native/index.html:507 website/public/index.html:1220
#: website/public/showcase/aegis/index.html:806
#: website/public/showcase/ctf/index.html:775
#: website/public/showcase/dx-ball/index.html:783
#: website/public/showcase/index.html:315
#: website/public/showcase/notion/index.html:629
#: website/public/showcase/th04/index.html:798
msgctxt "shared"
msgid "Source"
msgstr "Codice sorgente"

#: website/public/blog/index.html:243
#: website/public/blog/reverse-engineering-models/index.html:882
#: website/public/blog/touhou-reconstruction/index.html:1079
#: website/public/contributors/index.html:1130
#: website/public/examples/dino-lab/index.html:474
#: website/public/faq/index.html:572
#: website/public/first-investigation/index.html:533
#: website/public/get-started/index.html:1816
#: website/public/guides/browser/index.html:506
#: website/public/guides/index.html:281
#: website/public/guides/javascript/index.html:502
#: website/public/guides/native/index.html:508 website/public/index.html:1221
#: website/public/showcase/aegis/index.html:807
#: website/public/showcase/ctf/index.html:776
#: website/public/showcase/dx-ball/index.html:784
#: website/public/showcase/index.html:316
#: website/public/showcase/notion/index.html:630
#: website/public/showcase/th04/index.html:799
msgctxt "shared"
msgid "MIT license"
msgstr "Licenza MIT"

#: 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/contributors/index.html:1131
#: website/public/examples/dino-lab/index.html:475
#: website/public/faq/index.html:573
#: website/public/first-investigation/index.html:534
#: website/public/get-started/index.html:1817
#: 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:1222
#: 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
msgctxt "shared"
msgid "Join the community"
msgstr "Unisciti alla community"

#: website/public/blog/index.html:245
#: website/public/blog/reverse-engineering-models/index.html:884
#: website/public/blog/touhou-reconstruction/index.html:1081
#: website/public/contributors/index.html:1132
#: website/public/examples/dino-lab/index.html:476
#: website/public/faq/index.html:574
#: website/public/first-investigation/index.html:535
#: website/public/get-started/index.html:1818
#: website/public/guides/browser/index.html:508
#: website/public/guides/index.html:283
#: website/public/guides/javascript/index.html:504
#: website/public/guides/native/index.html:510 website/public/index.html:1223
#: website/public/showcase/aegis/index.html:809
#: website/public/showcase/ctf/index.html:778
#: website/public/showcase/dx-ball/index.html:786
#: website/public/showcase/index.html:318
#: website/public/showcase/notion/index.html:632
#: website/public/showcase/th04/index.html:801
msgctxt "shared"
msgid "Follow us on X"
msgstr "Seguici su X"

#: website/public/examples/dino-lab/index.html:311
msgctxt "page:examples/dino-lab/index.html"
msgid "REA · selected script source"
msgstr "REA * sorgente script selezionata"

#: website/public/first-investigation/index.html:379
msgctxt "page:first-investigation/index.html"
msgid "Source"
msgstr "Codice sorgente"

#: website/public/first-investigation/index.html:433
msgctxt "page:first-investigation/index.html"
msgid "Expected formatter output"
msgstr "Uscita formatter prevista"

#: website/public/guides/index.html:224
msgctxt "page:guides/index.html"
msgid "Instructions"
msgstr "Istruzione"

#: website/public/guides/index.html:225
msgctxt "page:guides/index.html"
msgid "Caller"
msgstr "Chiamante"

#: website/public/guides/index.html:226
msgctxt "page:guides/index.html"
msgid "Constants"
msgstr "Costante"

#: website/public/guides/index.html:227
msgctxt "page:guides/index.html"
msgid "C function"
msgstr "Funzione C"

#: website/public/guides/index.html:242
msgctxt "page:guides/index.html"
msgid "Button"
msgstr "Pulsante"

#: website/public/guides/index.html:243
msgctxt "page:guides/index.html"
msgid "Preload API"
msgstr "API Precarico"

#: website/public/guides/index.html:244
msgctxt "page:guides/index.html"
msgid "IPC"
msgstr "IPC"

#: website/public/guides/index.html:244
msgctxt "page:guides/index.html"
msgid "CSV file"
msgstr "File CSV"

#: website/public/guides/index.html:264
msgctxt "page:guides/index.html"
msgid "Your click"
msgstr "Il tuo click"

#: website/public/guides/index.html:265
msgctxt "page:guides/index.html"
msgid "Captured request"
msgstr "Richiesta acquisita"

#: website/public/guides/index.html:266
msgctxt "page:guides/index.html"
msgid "Export script"
msgstr "Esporta script"

#: website/public/guides/javascript/index.html:362
msgctxt "page:guides/javascript/index.html"
msgid "REA result · summary.ipc excerpt"
msgstr "REA risultato * riepilogo.estratto ipc"

#: website/public/guides/native/index.html:389
msgctxt "page:guides/native/index.html"
msgid "REA instruction excerpt · 0x406409"
msgstr "Estratto di istruzioni REA * 0x406409"

#: website/public/guides/native/index.html:403
msgctxt "page:guides/native/index.html"
msgid "REA caller excerpt · 0x411f5b"
msgstr "REA chiamante estratto * 0x411f5b"

#: website/public/guides/native/index.html:417
msgctxt "page:guides/native/index.html"
msgid "REA byte results · interpreted as little-endian doubles"
msgstr "Risultati byte REA * interpretati come doppi little-endian"

#: website/public/guides/native/index.html:434
msgctxt "page:guides/native/index.html"
msgid "Recovered C · excerpt"
msgstr "Recuperato C * estratto"

#: website/public/index.html:1034
msgctxt "page:index.html"
msgid "Showcases →"
msgstr "Vetrina →"

#: website/public/index.html:763
msgctxt "page:index.html"
msgid "Selected settings from the inspected script"
msgstr "Impostazioni selezionate dallo script ispezionato"

#: website/public/index.html:938
msgctxt "page:index.html"
msgid "Readable summary of the % handler"
msgstr "Riepilogo leggibile del gestore %"

#: website/public/index.html:982
msgctxt "page:index.html"
msgid "REA · selected original instructions"
msgstr "REA * istruzioni originali selezionate"

#: website/public/index.html:993
msgctxt "page:index.html"
msgid "Operator IDs · Microsoft’s source"
msgstr "ID operatore * Fonte di Microsoft"

#: website/public/showcase/aegis/index.html:404
#: website/public/showcase/aegis/index.html:436
msgctxt "page:showcase/aegis/index.html"
msgid "Agent → REA"
msgstr "Agente → REA"

#: website/public/showcase/aegis/index.html:414
msgctxt "page:showcase/aegis/index.html"
msgid "REA → agent · selected results"
msgstr "REA → agente * risultati selezionati"

#: website/public/showcase/aegis/index.html:450
msgctxt "page:showcase/aegis/index.html"
msgid "REA → agent · methods and callers"
msgstr "REA → agente * metodi e chiamanti"

#: website/public/showcase/aegis/index.html:520
msgctxt "page:showcase/aegis/index.html"
msgid "REA · selected decompiled Java"
msgstr "REA * Java decompilato selezionato"

#: website/public/showcase/aegis/index.html:550
msgctxt "page:showcase/aegis/index.html"
msgid "Readable summary · agent's interpretation"
msgstr "Riepilogo leggibile * interpretazione dell'agente"

#: website/public/showcase/aegis/index.html:605
msgctxt "page:showcase/aegis/index.html"
msgid "REA · generateOTP, complete body"
msgstr "REA * generateOTP, corpo completo"

#: website/public/showcase/aegis/index.html:723
msgctxt "page:showcase/aegis/index.html"
msgid "Download Aegis APK"
msgstr "Scarica Aegis APK"

#: website/public/showcase/aegis/index.html:727
msgctxt "page:showcase/aegis/index.html"
msgid "Download Android analysis provider"
msgstr "Scarica Android analysis provider"

#: website/public/showcase/ctf/index.html:307
#: website/public/showcase/ctf/index.html:343
msgctxt "page:showcase/ctf/index.html"
msgid "Agent → REA"
msgstr "Agente → REA"

#: website/public/showcase/ctf/index.html:323
msgctxt "page:showcase/ctf/index.html"
msgid "REA → agent · selected results"
msgstr "REA → agente * risultati selezionati"

#: website/public/showcase/ctf/index.html:355
msgctxt "page:showcase/ctf/index.html"
msgid "REA → agent · selected instructions"
msgstr "REA → agente * istruzioni selezionate"

#: website/public/showcase/ctf/index.html:418
msgctxt "page:showcase/ctf/index.html"
msgid "Agent → REA · read_bytes"
msgstr "Agente → REA * read_bytes"

#: website/public/showcase/ctf/index.html:425
msgctxt "page:showcase/ctf/index.html"
msgid "REA → agent · seventh entries"
msgstr "REA → agente * settima voce"

#: website/public/showcase/ctf/index.html:693
msgctxt "page:showcase/ctf/index.html"
msgid "Original executable · SHA-256"
msgstr "Eseguibile originale * SHA-256"

#: website/public/showcase/ctf/index.html:729
msgctxt "page:showcase/ctf/index.html"
msgid "Download the original challenge"
msgstr "Scarica la sfida originale"

#: website/public/showcase/ctf/index.html:733
msgctxt "page:showcase/ctf/index.html"
msgid "Download solver"
msgstr "Scarica risolutore"

#: website/public/showcase/dx-ball/index.html:334
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA result · pseudocode excerpt"
msgstr "Risultato REA * estratto di pseudocodice"

#. {ph0}: <code>analyze_function</code>
#: website/public/showcase/dx-ball/index.html:357
#: website/public/showcase/dx-ball/index.html:381
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "Agent → REA · {ph0}"
msgstr "Agente → REA  · {ph0}"

#: website/public/showcase/dx-ball/index.html:363
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA → agent · instruction excerpt"
msgstr "REA → agente * estratto di istruzioni"

#: website/public/showcase/dx-ball/index.html:387
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA → agent · caller excerpt"
msgstr "REA → agente * estratto del chiamante"

#. {ph0}: <code>read_bytes</code>
#: website/public/showcase/dx-ball/index.html:405
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "Agent → REA · two {ph0} requests"
msgstr "Agente → REA * due {ph0} richiesta"

#: website/public/showcase/dx-ball/index.html:415
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA byte results · decoded as doubles"
msgstr "Risultati byte REA * decodificati come doppi"

#: website/public/showcase/dx-ball/index.html:768
msgctxt "page:showcase/dx-ball/index.html"
msgid "Start with your own target"
msgstr "Inizia con il tuo obiettivo"

#: website/public/showcase/index.html:217
msgctxt "page:showcase/index.html"
msgid "APK"
msgstr "APK"

#: website/public/showcase/index.html:218
msgctxt "page:showcase/index.html"
msgid "Generating code"
msgstr "Generazione di codice"

#: website/public/showcase/index.html:219
msgctxt "page:showcase/index.html"
msgid "Recovered rule"
msgstr "Regola recuperata"

#: website/public/showcase/index.html:220
msgctxt "page:showcase/index.html"
msgid "Adjustable clock"
msgstr "Orologio regolabile"

#: website/public/showcase/index.html:235
msgctxt "page:showcase/index.html"
msgid "Binary"
msgstr "Binario"

#: website/public/showcase/index.html:236
msgctxt "page:showcase/index.html"
msgid "Checking code"
msgstr "Controllo del codice"

#: website/public/showcase/index.html:237
msgctxt "page:showcase/index.html"
msgid "Equations"
msgstr "Equazione"

#: website/public/showcase/index.html:238
msgctxt "page:showcase/index.html"
msgid "Correct!"
msgstr "Esatto!"

#: website/public/showcase/index.html:254
msgctxt "page:showcase/index.html"
msgid "Executable"
msgstr "Eseguibile"

#: website/public/showcase/index.html:255
msgctxt "page:showcase/index.html"
msgid "REA findings"
msgstr "Risultati REA"

#: website/public/showcase/index.html:256
msgctxt "page:showcase/index.html"
msgid "Recovered C"
msgstr "Recuperato C"

#: website/public/showcase/index.html:257
msgctxt "page:showcase/index.html"
msgid "Validation"
msgstr "Convalida"

#: website/public/showcase/index.html:272
msgctxt "page:showcase/index.html"
msgid "Packaged app"
msgstr "App pacchettizzata"

#: website/public/showcase/index.html:273
msgctxt "page:showcase/index.html"
msgid "Exposed API"
msgstr "API esposte"

#: website/public/showcase/index.html:274
msgctxt "page:showcase/index.html"
msgid "IPC wrappers"
msgstr "Wrapper IPC"

#: website/public/showcase/index.html:275
msgctxt "page:showcase/index.html"
msgid "Clipboard"
msgstr "Appunti"

#: website/public/showcase/index.html:290
msgctxt "page:showcase/index.html"
msgid "Original DOS code"
msgstr "Codice DOS originale"

#: website/public/showcase/index.html:291
msgctxt "page:showcase/index.html"
msgid "REA instructions"
msgstr "Istruzioni REA"

#: website/public/showcase/index.html:292
msgctxt "page:showcase/index.html"
msgid "Angle calculation"
msgstr "Calcolo dell'angolo"

#: website/public/showcase/index.html:293
msgctxt "page:showcase/index.html"
msgid "Bullet ring"
msgstr "Anello di proiettile"

#: website/public/showcase/notion/index.html:309
msgctxt "page:showcase/notion/index.html"
msgid "Exposed page API"
msgstr "API pagina esposta"

#: website/public/showcase/notion/index.html:315
msgctxt "page:showcase/notion/index.html"
msgid "Renderer IPC call"
msgstr "Renderer Chiamata IPC"

#: website/public/showcase/notion/index.html:477
msgctxt "page:showcase/notion/index.html"
msgid "Sent to the system clipboard"
msgstr "Inviato agli appunti di sistema"

#: website/public/showcase/notion/index.html:485
msgctxt "page:showcase/notion/index.html"
msgid "Saved locally by Notion"
msgstr "Salvato localmente da Notion"

#: website/public/showcase/notion/index.html:530
msgctxt "page:showcase/notion/index.html"
msgid "Markdown input"
msgstr "Ingresso markdown"

#: website/public/showcase/notion/index.html:537
msgctxt "page:showcase/notion/index.html"
msgid "Structured parser output · excerpt"
msgstr "Uscita parser strutturata * estratto"

#: website/public/showcase/notion/index.html:614
msgctxt "page:showcase/notion/index.html"
msgid "Analyze your own app"
msgstr "Analizza la tua app"

#: website/public/showcase/th04/index.html:374
msgctxt "page:showcase/th04/index.html"
msgid "Agent → REA"
msgstr "Agente → REA"

#: website/public/showcase/th04/index.html:383
msgctxt "page:showcase/th04/index.html"
msgid "REA → agent · selected fields"
msgstr "REA → agente * campi selezionati"

#. {ph0}: <code>analyze_function</code>
#: website/public/showcase/th04/index.html:402
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "Agent → REA · {ph0}"
msgstr "Agente → REA  · {ph0}"

#: website/public/showcase/th04/index.html:408
msgctxt "page:showcase/th04/index.html"
msgid "REA → agent · instruction excerpt"
msgstr "REA → agente * estratto di istruzioni"

#: website/public/showcase/th04/index.html:429
msgctxt "page:showcase/th04/index.html"
msgid "Same function result · aim excerpt"
msgstr "Stesso risultato di funzione * estratto aim"

#: website/public/showcase/th04/index.html:438
msgctxt "page:showcase/th04/index.html"
msgid "Corresponding maintained C++"
msgstr "Corrispondente mantenuto C++"

#: website/public/showcase/th04/index.html:618
msgctxt "page:showcase/th04/index.html"
msgid "Ring macro · TH04 branch, excerpt"
msgstr "Macro anello * Ramo TH04, estratto"

#: website/public/showcase/th04/index.html:628
msgctxt "page:showcase/th04/index.html"
msgid "Angle and velocity · source excerpt"
msgstr "Angolo e velocità * fonte estratto"

#: website/public/assets/home.js:29
msgctxt "runtime"
msgid "Press % to see what happens to 10."
msgstr "Premi % per vedere cosa succede a 10."

#: website/public/assets/home.js:32
msgctxt "runtime"
msgid "10% of 200 is 20. Press = to add it."
msgstr "il 10% di 200 fa 20. Premere = per aggiungerlo."

#: website/public/assets/home.js:33
msgctxt "runtime"
msgid "For multiplication, 10 becomes 0.1. Press = to multiply."
msgstr "Per la moltiplicazione, 10 diventa 0,1. Premere = per moltiplicare."

#: scripts/website_i18n.py
msgctxt "runtime"
msgid "Translation is being updated. Read this page in English for now."
msgstr ""
"La traduzione è in fase di aggiornamento. Leggi questa pagina in inglese per"
" ora."

#. {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:430
#, 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}Utilizzare REA per analizzare {ph3} e spiega come esporta i "
"dati. Mostra il codice pertinente e le posizioni di origine.{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:248
#, 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}Installa REA e collegalo a questo agente di programmazione "
"usando {ph3}. Mostrami prima le modifiche previste e attendi la mia "
"approvazione. Poi verifica l’installazione.{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:298
#, 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}Scaricare {ph3} in una nuova cartella di esempio e "
"decomprimerla. Utilizzare REA per trovare ciò che accade quando faccio clic "
"su Esporta note. Mostra dove {ph4} è scritto, quali campi contiene e i file "
"e le linee pertinenti.{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:783
#, 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}Installa REA e collegalo a questo agente di programmazione "
"usando {ph3}. Mostrami prima le modifiche previste e attendi la mia "
"approvazione. Poi verifica l’installazione.{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:268
#, 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}Installa REA e collegalo a questo agente di programmazione "
"usando {ph3}. Mostrami prima le modifiche previste e attendi la mia "
"approvazione. Poi verifica l’installazione.{ph4}{ph5}{ph6}"

#. {ph0}: <span translate="no">dino-speed.js</span>
#: website/public/examples/dino-lab/index.html:325
#, python-brace-format
msgctxt "page:examples/dino-lab/index.html"
msgid "Reconstruction · {ph0}"
msgstr "Ricostruzione · {ph0}"

#. {ph0}: <span translate="no">Node.js</span>
#: website/public/faq/index.html:223
#, 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 ""
"Con {ph0} e npm disponibile, esegui l'installazione, scegli il tuo agente di"
" codifica e rivedi le modifiche proposte."

#. {ph0}: <span translate="no">Node.js</span>
#: website/public/first-investigation/index.html:207
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "A supplied example · {ph0} and npm · Your coding agent"
msgstr "Un esempio fornito · {ph0} e npm * Il tuo agente di codifica"

#. {ph0}: <span translate="no">Node.js</span>
#. {ph1}: <a href="../get-started/">
#. {ph2}: </a >
#: website/public/first-investigation/index.html:226
#, 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 ""
"Utilizzare un agente di codifica come Claude Code, Codex o Cursor. Avrai "
"bisogno di {ph0} e npm; il {ph1}guida all'installazione elenca le versioni "
"supportate{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:344
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "{ph0}Page · {ph1}{ph2}{ph3}Export notes{ph4}{ph5}Calls {ph6}.{ph7}"
msgstr ""
"{ph0}Pagina * {ph1}{ph2}{ph3}Note di esportazione{ph4}{ph5}Chiamare "
"{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:352
#, 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}Ponte · {ph1}{ph2}{ph3}{ph4}{ph5}{ph6}Invia un messaggio denominato al "
"processo principale.{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:360
#, 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}Gestore · {ph1}{ph2}{ph3}Scrivere {ph4}{ph5}{ph6}Chiama il formatter in"
" {ph7} e scrive il file.{ph8}"

#. {ph0}: <span translate="no">main.js</span>
#: website/public/first-investigation/index.html:378
#, python-brace-format
msgctxt "page:first-investigation/index.html"
msgid "{ph0} · lines 8–12"
msgstr "{ph0} * linee 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:420
#, 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}Prevedere il CSV per una nota con id 1 e titolo {ph3}. "
"Quindi esegui l'esempio {ph4} formatter con {ph5} per controllare. Mostra la"
" previsione e l'output effettivo.{ph6}{ph7}{ph8}"

#. {ph0}: <span translate="no">Node.js</span>
#: website/public/first-investigation/index.html:438
#, 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 ""
"Il titolo rimane in un campo quotato; ogni virgoletta è raddoppiata. Questo "
"controlla il formattatore direttamente con {ph0}."

#. {ph0}: <span translate="no">Node.js</span>
#. {ph1}: <span translate="no">Node.js</span>
#: website/public/get-started/index.html:256
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"You'll need {ph0} 22 (22.23.4+), 24 (24.22.1+) or 26+ (>=26.12.1). npm comes with {ph1}."
msgstr ""
"Avrai bisogno di {ph0} 22 (22.23.4+), 24 (24.22.1+) o 26+ (>=26.12.1).  npm viene fornito "
"con {ph1}."

#. {ph0}: <span translate="no">Node.js</span>
#: website/public/get-started/index.html:262
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "Don't have {ph0}, or not sure?"
msgstr "Non ho {ph0}, o non sicuro?"

#. {ph0}: <code>node -v</code>
#. {ph1}: <span translate="no">Node.js</span>
#: website/public/get-started/index.html:281
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"If {ph0} prints v22.23.4+, v24.22.1+ or v26.12.1+, you're ready. If it prints an "
"older version or \"not recognized\" / \"command not found\", install {ph1} "
"24 LTS:"
msgstr ""
"Se {ph0} mostra v22.23.4+, v24.22.1+ o v26.12.1+, sei pronto. Se mostra una versione "
"precedente o \"not recognized\" / \"command not found\", installa {ph1} 24 "
"LTS:"

#. {ph0}: <span translate="no">export.js</span>
#: website/public/guides/browser/index.html:446
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "{ph0} · example source excerpt"
msgstr "{ph0} * esempio fonte estratto"

#. {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:464
#, 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}Apri l'esempio{ph1} · {ph2}Scaricare {ph3}{ph4} · {ph5}Scaricare "
"{ph6}{ph7}"

#. {ph0}: <span translate="no">renderer.js</span>
#: website/public/guides/javascript/index.html:314
#: website/public/guides/javascript/index.html:330
#: website/public/guides/javascript/index.html:345
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0} · example source"
msgstr "{ph0} * esempio sorgente"

#. {ph0}: <code>notes-example</code>
#. {ph1}: <span translate="no">Node.js</span>
#: website/public/guides/javascript/index.html:379
#, 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 ""
"Scarica l'esempio e decomprimilo. L'archivio contiene il completo {ph0} "
"cartella. Analizzarlo con {ph1} e npm; Electron non è necessario per questo "
"esempio."

#. {ph0}: <span translate="no">Node.js</span>
#. {ph1}: <a href="get-started/">
#. {ph2}: </a>
#: website/public/index.html:313
#, 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 ""
"Prima volta, o mancante {ph0} o un agente di codifica? {ph1}Seguire la guida"
" di installazione passo-passo →{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:528
#, 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}Utilizzare REA ispezionare Windows Calcolatore. Perché {ph3}"
" dà 220?{ph4}{ph5}{ph6}"

#. {ph0}: <span translate="no">index.js</span>
#: website/public/index.html:715
#, python-brace-format
msgctxt "page:index.html"
msgid "REA · loaded {ph0} · selected lines"
msgstr "REA * caricato {ph0} * linee selezionate"

#. {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:951
#, 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 legge {ph1}{ph2}{ph3}Lancia l'app Calcolatrice{ph4}{ph5}Il "
"codice si apre {ph6}. L'agente seleziona quindi la libreria dell'app "
"installata.{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:283
#, 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}Analizza {ph3} con REA. Spiega come viene generato il codice"
" di accesso a sei cifre e perché cambia ogni 30 secondi. Crea una piccola "
"demo in cui posso cambiare l’ora.{ph4}{ph5}{ph6}"

#. {ph0}: <span translate="no">preload.js</span>
#: website/public/showcase/notion/index.html:347
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "tab_browser_view/{ph0} · API member"
msgstr "tab_browser_view/{ph0} * Membro API"

#. {ph0}: <span translate="no">preload.js</span>
#: website/public/showcase/notion/index.html:376
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "tab_browser_view/{ph0} · IPC helper"
msgstr "tab_browser_view/{ph0} * IPC helper"

#. {ph0}: <span translate="no">index.js</span>
#: website/public/showcase/notion/index.html:407
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "main/{ph0} · handler helper"
msgstr "principale/{ph0} * handler helper"

#. {ph0}: <span translate="no">index.js</span>
#: website/public/showcase/notion/index.html:435
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "main/{ph0} · clipboard receiver"
msgstr "principale/{ph0} * ricevitore appunti"

#: website/public/assets/theme.js:52
msgctxt "runtime"
msgid "Switch to light mode"
msgstr "Passa alla modalità chiara"

#: website/public/assets/theme.js:53
msgctxt "runtime"
msgid "Switch to dark mode"
msgstr "Passa alla modalità scura"

#. {ph0}: <a href="https://github.com/morluto/rea/blob/main/docs/web-network-
#. captures.md" >
#. {ph1}: </a >
#: website/public/guides/browser/index.html:485
#, 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 ""
"Per esaminare i corpi delle richieste e delle risposte HTTP, usa "
"{ph0}Fiddler Everywhere: acquisizioni SAZ, MCP e skill pubbliche{ph1}. "
"Esporta SAZ o HAR 1.2 per ottenere Evidence delle acquisizioni in REA "
"offline, oppure collega il server MCP di Everywhere per esaminare il "
"traffico acquisito con il tuo agente."

#. {ph0}: <br />
#: website/public/blog/index.html:205
#, python-brace-format
msgctxt "page:blog/index.html"
msgid "Model specialization{ph0}Essay"
msgstr "Modelli specializzati{ph0}Saggio"

#: website/public/blog/index.html:207
msgctxt "page:blog/index.html"
msgid "Does reverse engineering need a bigger model?"
msgstr "Il reverse engineering ha bisogno di un modello più grande?"

#: website/public/blog/index.html:208
msgctxt "page:blog/index.html"
msgid ""
"What Touhou reconstruction suggests about general models, specialist models "
"and learning from compiler feedback."
msgstr ""
"Cosa suggerisce la ricostruzione di Touhou sui modelli generali, quelli "
"specializzati e l’apprendimento dal feedback del compilatore."

#: website/public/blog/index.html:215
msgctxt "page:blog/index.html"
msgid "By N0zoM1z0 · 13 October 2026"
msgstr "Da N0zoM1z0 · 13 ottobre 2026"

#: website/public/blog/reverse-engineering-models/index.html:107
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/blog/reverse-engineering-models/index.html:199
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Home{ph1} / {ph2}Blog{ph3} / Models and RE"
msgstr "{ph0}Home{ph1} / {ph2}Blog{ph3} / Modelli e reverse engineering"

#: website/public/blog/reverse-engineering-models/index.html:202
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Essay"
msgstr "Saggio"

# Reviewed for technical meaning and readability; preserve the distinction
# between historical evidence and proposed experiments.
#: website/public/blog/reverse-engineering-models/index.html:203
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Does reverse engineering need a bigger model?"
msgstr "Il reverse engineering necessita di un modello più grande?"

#: website/public/blog/reverse-engineering-models/index.html:204
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "By N0zoM1z0 · 13 October 2026"
msgstr "Da N0zoM1z0 · 13 ottobre 2026"

#: website/public/blog/reverse-engineering-models/index.html:206
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Takeaway"
msgstr "Punti chiave"

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:208
#, 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}La capacità del modello influisce sulle ipotesi che un agente AI può "
"proporre.{ph1} Le sessioni successive hanno risolto problemi che il lavoro "
"precedente aveva lasciato irrisolti."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:216
#, 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}Un compilatore familiare offre modelli concreti da apprendere per un "
"modello specializzato.{ph1} Alcune corrispondenze esatte del codice macchina"
" dipendono da modelli di codice sorgente specifici e riutilizzabili."

#. {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}Give repository knowledge a fair comparison.{ph1} A smaller model with "
"good retrieval may already know enough to make progress."
msgstr ""
"{ph0}Includi la conoscenza del repository in un confronto equo.{ph1} Un "
"modello più piccolo con un buon recupero della conoscenza potrebbe già avere"
" informazioni sufficienti per fare progressi."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:228
#, 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}Addestra il modello per scegliere il prossimo esperimento utile e "
"testare il suo strumento di verifica.{ph1} Il feedback è utile solo nella "
"misura in cui lo strumento verifica le cose giuste."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:235
#, 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}Valuta i risultati verificati della ricostruzione insieme a tempi e "
"costi.{ph1} Questo è ciò che voglio misurare per il flusso di lavoro "
"completo dell'agente AI."

#: website/public/blog/reverse-engineering-models/index.html:246
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "In this article"
msgstr "In questo articolo"

#. {ph0}: <a href="#model-capability">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:248
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}What better models changed{ph1}"
msgstr "{ph0}Che cosa hanno cambiato i modelli più capaci{ph1}"

#. {ph0}: <a href="#specialization">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:249
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Why specialize?{ph1}"
msgstr "{ph0}Perché specializzarsi?{ph1}"

#. {ph0}: <a href="#repository-knowledge">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:250
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Where experience lives{ph1}"
msgstr "{ph0}Dove dovrebbe essere archiviata questa esperienza?{ph1}"

#. {ph0}: <a href="#learning-search">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:251
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Learning the next experiment{ph1}"
msgstr "{ph0}Imparare il prossimo esperimento utile{ph1}"

#. {ph0}: <a href="#re-and-rl">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:252
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}RE and reinforcement learning{ph1}"
msgstr "{ph0}Reverse engineering e apprendimento per rinforzo{ph1}"

#. {ph0}: <a href="#oracle">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:253
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}When the oracle is wrong{ph1}"
msgstr "{ph0}Quando il controllo di verifica è sbagliato{ph1}"

#. {ph0}: <a href="#comparison">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:254
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}A comparison worth running{ph1}"
msgstr "{ph0}Un confronto che vale la pena fare{ph1}"

#. {ph0}: <a href="#future-agent">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:255
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}What kind of agent?{ph1}"
msgstr "{ph0}Che tipo di agente AI suggerisce questo?{ph1}"

#: website/public/blog/reverse-engineering-models/index.html:263
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "What better models changed"
msgstr "Che cosa hanno cambiato i modelli più capaci"

#: website/public/blog/reverse-engineering-models/index.html:264
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 ""
"Dall'agosto 2026, ho esplorato quanto reverse engineering può eseguire un "
"agente con l'accesso a un programma e un modo per verificarne il lavoro. La "
"maggior parte della mia esperienza deriva dalla ricostruzione di giochi, in "
"particolare Touhou. Man mano che ho cambiato modello, i repository hanno "
"tenuto traccia di ciò che è riuscita a recuperare ciascuna sessione."

#: website/public/blog/reverse-engineering-models/index.html:272
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 ""
"Gran parte di questo lavoro mira alla ricostruzione esatta: compiliamo il "
"sorgente mantenuto in una toolchain storica con versioni fisse e "
"controlliamo se riproduce la funzione di destinazione. Quando un modello "
"successivo riesce dove il lavoro precedente si era bloccato, le modifiche "
"alla fonte mostrano cosa ha reso possibile quel progresso."

#: website/public/blog/reverse-engineering-models/index.html:279
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "The temporary values had to stay alive together"
msgstr "Le variabili temporanee necessitavano di vite sovrapposte"

#: website/public/blog/reverse-engineering-models/index.html:280
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 ""
"Gran parte della logica della funzione di attacco TH09 era già stata "
"ricostruita, ma il compilatore memorizzava ancora i risultati temporanei in "
"modo diverso dall'originale. Il problema rimanente era quanto tempo "
"occorreva a quei risultati per rimanere in vita e quando la loro "
"conservazione poteva essere riutilizzata."

#. {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:287
#, 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 ""
"Un {ph0}GPT-6-Sol record di sessione{ph1} ha segnalato questa mancata "
"corrispondenza dopo aver testato diverse disposizioni ordinarie del codice "
"sorgente. Quando {ph2}GPT-6.1-Sol ha esaminato nuovamente il problema{ph3}, "
"ha proposto un'ipotesi utile sulla durata di queste variabili temporanee."

#: website/public/blog/reverse-engineering-models/index.html:301
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 ""
"La funzione ha prodotto risultati temporanei e li ha copiati in posizioni di"
" animazione. In C++, un risultato temporaneo rimane attivo finché "
"l'espressione che lo utilizza non termina. Raggruppare le operazioni reali "
"in un'unica espressione ha mantenuto vivi insieme i risultati, quindi il "
"compilatore non poteva più riutilizzare la stessa memoria per tutti loro."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:308
#, 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 ""
"Un risultato ha ancora spazio di archiviazione condiviso con un valore "
"utilizzato successivamente per i controlli di collisione. Dare a quel valore"
" la propria durata ha risolto la rimanente sovrapposizione. Dopo diversi "
"esperimenti mirati, {ph0}una ricompilazione pulita dal sorgente ha "
"confermato che l'intera funzione corrispondeva a{ph1}."

#: website/public/blog/reverse-engineering-models/index.html:317
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 ""
"Sono interessato a come la scoperta e i test si siano supportati a vicenda. "
"L’ipotesi sulla durata temporanea degli oggetti ha dato all’agente AI una "
"nuova direzione. Il feedback del compilatore ha aiutato a perfezionare "
"quell'ipotesi in una disposizione del codice sorgente che corrispondesse."

#: website/public/blog/reverse-engineering-models/index.html:323
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "A different control-flow graph"
msgstr "Un diverso grafico del flusso di controllo"

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/f8d12d72aaf02212ee1b585a8f3f86d7ed000269"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:324
#, 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 ""
"Una seconda funzione TH09 mostra perché questa nuova direzione può essere "
"importante. In questo caso, l’ostacolo era il modo in cui diversi rami "
"condividevano il loro lavoro finale. Il lavoro precedente di "
"{ph0}GPT-6.1-Sol{ph1} faceva corrispondere parti della funzione, ma i rami "
"si univano ancora in modo diverso dall'originale."

#. {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:335
#, 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 ha cambiato il grafico del flusso di controllo "
"circostante{ph1}. I percorsi principali conducono ora ad un aggiornamento "
"finale condiviso e al ritorno. In quella struttura sorgente, il compilatore "
"ha combinato i rami nello stesso modo dell'originale. La funzione completa "
"corrispondeva e un {ph2}controllo di ricostruzione separato lo ha "
"confermato{ph3}."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:347
#, 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}La modifica della rappresentazione ha aperto uno spazio di ricerca più "
"produttivo.{ph1} Entrambi i casi mi danno un motivo per prendere sul serio "
"le capacità generali del modello: un agente può continuare a provare "
"variazioni locali per molto tempo prima di trovare un modo migliore per "
"esprimere il lavoro circostante."

#: website/public/blog/reverse-engineering-models/index.html:356
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 ""
"Le sessioni successive hanno anche ereditato il codice precedente e i "
"tentativi falliti già documentati. Questo lavoro accumulato faceva parte del"
" loro vantaggio. La cronologia permette di esaminare le scoperte e le "
"verifiche; un confronto controllato aiuterebbe a separare il contributo del "
"modello da quello dell’esperienza ereditata."

#: website/public/blog/reverse-engineering-models/index.html:363
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 ""
"Questo è ciò che rende la domanda interessante per me. Alcuni progressi sono"
" arrivati ​​dalla ricerca di una nuova rappresentanza. Gran parte del lavoro"
" rimanente prevedeva il test di diverse disposizioni del codice sorgente "
"rispetto a un compilatore familiare. Quanto di tutto ciò richiede un’ampia "
"capacità di ragionamento? Quanto potrebbe imparare un modello lavorando "
"ripetutamente con quel compilatore e quel codice?"

#: website/public/blog/reverse-engineering-models/index.html:373
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Why might a specialist do well?"
msgstr "Perché un modello di IA specializzato potrebbe funzionare bene?"

#: website/public/blog/reverse-engineering-models/index.html:374
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 ci dà una ragione concreta per aspettarci che quell'esperienza sia "
"d'aiuto. Gran parte del codice del gioco proviene dallo stesso autore, ZUN, "
"quindi le abitudini ricorrenti sono un presupposto di partenza ragionevole. "
"I repository lo confermano con esempi utili: cicli correlati e disposizioni "
"di supporto hanno fornito ipotesi attraverso i giochi."

#: website/public/blog/reverse-engineering-models/index.html:381
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 ""
"Questi modelli di origine diventano più specifici quando includiamo il "
"compilatore. In una particolare versione e insieme di opzioni, piccole "
"modifiche all'origine possono produrre differenze ripetibili nel codice "
"macchina. Alcune di queste differenze sono sorprendentemente oscure."

#. {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:387
#, 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 ""
"In TH095, ad esempio, {ph0}anche il nome di una variabile locale potrebbe "
"influenzare dove VC7.1 l'ha memorizzata{ph1}. Lo spostamento della sua "
"dichiarazione non ha risolto il layout di archiviazione. Tuttavia, una "
"precedente funzione in background aveva rivelato un modello di denominazione"
" che influenzava la scelta del compilatore. Ciò ha suggerito un'ipotesi più "
"promettente per {ph2}ricostruire {ph3}{ph4}."

#: website/public/blog/reverse-engineering-models/index.html:401
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 ""
"Il riutilizzo di quel modello per la variabile della dimensione del file ha "
"prodotto il layout richiesto senza aggiungere spazio di archiviazione. La "
"funzione completa quindi corrispondeva."

#: website/public/blog/reverse-engineering-models/index.html:406
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 ""
"Questo è un dettaglio molto specifico che un modello di intelligenza "
"artificiale generica potrebbe non conoscere quando incontra per la prima "
"volta il problema. Un modello specializzato per questo compilatore potrebbe "
"vedere molti casi simili e apprendere quali variazioni del codice sorgente "
"vale la pena testare per prime."

#: website/public/blog/reverse-engineering-models/index.html:412
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 ""
"L'opportunità è particolarmente chiara nei problemi di abbinamento finale in"
" cui ne comprendiamo già il comportamento. Ci stiamo quindi chiedendo quale "
"disposizione ordinaria del codice sorgente questo compilatore trasforma "
"nelle istruzioni osservate. La specializzazione potrebbe aiutare il modello "
"a proporre tali forme in modo più efficiente, mentre l’obiettivo determina "
"ancora quali ipotesi sopravvivono."

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th04/commit/6dce0a79d5b931f0e2a08475b90e0c33d2321b98"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:420
#, 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 ""
"Gli schemi utili devono conservare il loro contesto. TH08 usa una versione "
"di Visual C++ precedente a quella di TH095 e TH09. TH04 usa un altro "
"compilatore dell’epoca DOS. La {ph0}ricostruzione del codice del "
"giocatore{ph1} richiedeva ipotesi diverse sugli schemi del sorgente e sul "
"collegamento del codice in un eseguibile. Lo stesso autore ci dà "
"un’aspettativa iniziale, ma ogni obiettivo indica se è applicabile. Un "
"modello specializzato dovrebbe imparare a distinguere questi contesti."

#: website/public/blog/reverse-engineering-models/index.html:436
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Where should that experience live?"
msgstr "Dove dovrebbe essere archiviata questa esperienza?"

#. {ph0}: <a href="../touhou-reconstruction/">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:437
#, 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 ""
"Prima di decidere di insegnare questi modelli attraverso l'addestramento dei"
" modelli, esaminerei la conoscenza che già conserviamo nel repository. Nel "
"{ph0}saggio precedente{ph1} ho scritto che diventa la memoria di lavoro del "
"progetto. Quella memoria include lezioni del compilatore, insieme alla fonte"
" e agli esperimenti falliti che li hanno resi utili."

#: website/public/blog/reverse-engineering-models/index.html:446
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 ""
"Recuperando quel record, un agente può iniziare con un risultato noto e "
"verificare come lo abbiamo raggiunto. Può anche evitare alternative che "
"hanno già fallito nello stesso contesto. Il punto di partenza migliora senza"
" modificare i parametri addestrati del modello."

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/1eb843383941d00065622a9e353146c4bb96979e"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:452
#, 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 ""
"Durante la ricostruzione della funzione di TH09 per la creazione di nemici, "
"una sessione {ph0}GPT-6-Luna-max{ph1} ha preso un'ipotesi dal relativo "
"codice sorgente TH08. Il codice precedente suggeriva come organizzare il "
"ciclo e gestire gli errori al suo interno. Le prove di TH09 hanno fornito i "
"dettagli specifici del gioco. Le ricostruzioni dall'origine hanno confermato"
" che la funzione completa corrispondeva."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:463
#, 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}\"Il modello non conosceva quella stranezza del compilatore\" e \"il "
"modello non poteva usarlo\" sono problemi diversi.{ph1} Il recupero può "
"risolvere il primo, ma trasformare questo fatto in un candidato utile "
"richiede ancora lavoro. E se il codice sorgente candidato fallisce, il "
"modello deve decidere cosa significherà il risultato per il suo prossimo "
"tentativo. Conoscere il modello rilevante è solo l’inizio di quel processo."

#: website/public/blog/reverse-engineering-models/index.html:473
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 ""
"Per questo motivo, includerei in ogni confronto un modello di intelligenza "
"artificiale generico più piccolo con un buon recupero. Fornire la stessa "
"libreria di esperienze ci aiuterebbe a identificare ciò che la formazione "
"aggiunge: una migliore generazione di candidati, decisioni migliori dopo il "
"feedback o entrambi."

#: website/public/blog/reverse-engineering-models/index.html:481
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Learning the next useful experiment"
msgstr "Imparare il prossimo esperimento utile"

#: website/public/blog/reverse-engineering-models/index.html:482
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 ""
"Quelle decisioni dopo il feedback sono ciò che mi piacerebbe di più "
"studiare. Nella ricostruzione agentica, il modello propone una spiegazione e"
" la mette alla prova rispetto al programma. Anche quando il codice sorgente "
"candidato fallisce, il risultato può restringere le possibilità rimanenti e "
"suggerire un prossimo esperimento più utile."

#: website/public/blog/reverse-engineering-models/index.html:489
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 ""
"Consideriamo nuovamente l'esempio dei risultati temporanei. La sua fonte "
"finale mostra la soluzione che ha funzionato, ma il percorso verso quella "
"fonte contiene più informazioni. Ciascuno dei seguenti esperimenti ha "
"contribuito a identificare ciò che ancora doveva cambiare."

#: website/public/blog/reverse-engineering-models/index.html:502
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Experiment"
msgstr "Esperimento"

#: website/public/blog/reverse-engineering-models/index.html:503
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "What its result taught us"
msgstr "Cosa ci ha insegnato il suo risultato"

#: website/public/blog/reverse-engineering-models/index.html:508
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Try a different way to copy the results"
msgstr "Prova un modo diverso per copiare i risultati"

#: website/public/blog/reverse-engineering-models/index.html:509
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "The copy code changes, but the function still differs."
msgstr "Il codice di copia cambia, ma la funzione cambia ancora."

#: website/public/blog/reverse-engineering-models/index.html:514
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Use the returned values directly"
msgstr "Utilizzare direttamente i valori restituiti"

#: website/public/blog/reverse-engineering-models/index.html:515
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Copying follows the original pattern, but temporary storage still differs."
msgstr ""
"La copia segue lo schema originale, ma l'archiviazione temporanea differisce"
" ancora."

#: website/public/blog/reverse-engineering-models/index.html:521
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Keep the temporary results alive together"
msgstr "Mantieni valide tutte le variabili temporanee contemporaneamente"

#: website/public/blog/reverse-engineering-models/index.html:522
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 ""
"Ottengono un'archiviazione separata, ma uno si sovrappone comunque a un "
"valore utilizzato successivamente per i controlli di collisione."

#: website/public/blog/reverse-engineering-models/index.html:528
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Keep the collision-check value separate"
msgstr "Mantenere separato il valore del controllo collisioni"

#: website/public/blog/reverse-engineering-models/index.html:529
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "A clean rebuild confirms the complete match."
msgstr ""
"Una ricompilazione pulita dalla fonte conferma la corrispondenza completa."

#: website/public/blog/reverse-engineering-models/index.html:534
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"Selected experiments from the attack-function reconstruction above, grouped "
"by what they taught us."
msgstr ""
"Esperimenti selezionati dalla ricostruzione della funzione di attacco sopra,"
" raggruppati in base a ciò che ci hanno insegnato."

#: website/public/blog/reverse-engineering-models/index.html:538
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 ""
"Un registro dell'addestramento che mantenga questa sequenza può insegnare "
"più della sola fonte finale. Collega ogni modifica proposta a un risultato "
"osservato e alla decisione successiva. Anche mantenere le variazioni "
"inefficaci è importante: dicono a un agente successivo quali ipotesi sono "
"già state testate in quel contesto."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:545
#, 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}Vorrei che il modello imparasse come utilizzare il feedback.{ph1} Un "
"risultato neutro è un motivo per riconsiderare la variazione; una mancata "
"corrispondenza modificata può indicare un'altra causa. Quando le modifiche "
"locali smettono di essere informative, l'agente dovrebbe essere in grado di "
"rivisitare la rappresentazione originale o ispezionare nuovamente le prove."

#: website/public/blog/reverse-engineering-models/index.html:554
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 ""
"Imparare a fare queste scelte richiede autonomia. A volte il passaggio "
"successivo utile è ispezionare un altro chiamante anziché compilare un'altra"
" modifica. Una rigida sequenza di riscritture richieste eliminerebbe quella "
"scelta, insieme a parte del comportamento che vogliamo che il modello "
"impari."

#: website/public/blog/reverse-engineering-models/index.html:563
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Why RE is interesting for reinforcement learning"
msgstr ""
"Perché il reverse engineering è interessante per l'apprendimento per "
"rinforzo"

#: website/public/blog/reverse-engineering-models/index.html:564
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 ""
"La ricostruzione limitata ci offre un ambiente pratico per studiare queste "
"scelte. Una volta fissate le versioni di destinazione e del compilatore, "
"molti esperimenti di origine producono un feedback rapido e ripetibile. "
"L'agente può compilare un candidato, ispezionare la mancata corrispondenza e"
" utilizzare tale osservazione per scegliere il passaggio successivo."

#: website/public/blog/reverse-engineering-models/index.html:571
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 ""
"L’apprendimento per rinforzo potrebbe addestrare il processo decisionale "
"attraverso il feedback che riceve. Un candidato accettato con una verifica "
"definita ci dà un risultato concreto, mentre la sequenza dei tentativi ci "
"permette di osservare quanto lavoro è stato necessario per raggiungerlo."

#. {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:577
#, 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 ""
"Esistono già ricerche a sostegno di questa direzione. "
"{ph0}LLM4Decompile{ph1} studia modelli specializzati per la decompilazione. "
"{ph2}AutoDecompiler{ph3} addestra il perfezionamento multi-turn utilizzando "
"il feedback del compilatore e dell'esecuzione. I loro studi si concentrano "
"sul recupero funzionale. Per questo lavoro, li userei come punto di partenza"
" per il compito correlato di trovare fonti che corrispondano all'output di "
"un compilatore storico."

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th08/commit/af9cb1d3e839b15a78b47ac1701506083cc82847"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:589
#, 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 ""
"Per raggiungere un compito così ben definito, tuttavia, potremmo prima dover"
" stabilire quali risorse possiede una funzione o ideare un nuovo modo di "
"osservare il comportamento del programma durante l’esecuzione. In TH08, ad "
"esempio, una {ph0}differenza di collisione riportava al modo in cui il "
"programma originale gestiva i calcoli in virgola mobile{ph1}. Prima che "
"l'agente potesse testare una correzione utile, doveva capire cosa misurare."

#: website/public/blog/reverse-engineering-models/index.html:600
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 ""
"Ciò suggerisce un altro ruolo per un modello ampiamente capace: in primo "
"luogo, contribuire a rendere il problema controllabile. Una volta effettuato"
" questo controllo, possiamo indagare fino a che punto può arrivare una "
"politica di ricerca appresa."

#: website/public/blog/reverse-engineering-models/index.html:608
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "When the oracle is wrong"
msgstr "Quando il controllo di verifica è sbagliato"

#: website/public/blog/reverse-engineering-models/index.html:609
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 ""
"Quando una verifica viene usata per l’addestramento, anche la sua copertura "
"entra nell’ambiente di apprendimento. Chiamo oracle quel riferimento o "
"verificatore. Persino una risposta ripetibile va interpretata in base a ciò "
"che verifica davvero."

#: website/public/blog/reverse-engineering-models/index.html:615
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 ha mostrato quanto si può nascondere al di fuori di quella copertura. "
"Alcune funzioni ricostruite hanno superato i confronti esatti con costanti "
"in virgola mobile errate. Il comparatore aggiustava gli indirizzi trasferiti"
" prima di controllare le istruzioni, ma controllava i valori dietro quegli "
"indirizzi solo quando erano stati esplicitamente registrati per la verifica."
" Altri riferimenti letterali potrebbero passare senza che i loro valori "
"vengano esaminati."

#. {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:624
#, 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 ""
"Per colmare questa lacuna, un {ph0}controllo più ampio{ph1} ha rilevato "
"costanti errate nelle funzioni che avevano già superato la verifica. In un "
"calcolo, il codice sorgente ricostruito aggiungeva {ph2}, mentre l'originale"
" aggiungeva {ph3}."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:634
#, 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}Un modello premiato dal vecchio controllo di verifica potrebbe imparare"
" a produrre una ricostruzione errata.{ph1} Non abbiamo addestrato un modello"
" RL utilizzando quel controllo. L'errore che abbiamo osservato riguardava il"
" controllo stesso. Ma se lo usassimo come ricompensa, lo stesso punto cieco "
"diventerebbe parte dell’ambiente di apprendimento."

#. {ph0}: <a href="https://arxiv.org/html/2609.05370v1" >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:644
#, 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 ""
"Un test funzionale può avere un punto cieco simile. {ph0}La ricerca che "
"utilizza il fuzzing differenziale sui decompilatori LLM{ph1} ha rilevato "
"differenze comportamentali al di fuori dei test forniti. Dobbiamo quindi "
"comprendere una prova di superamento in termini dei casi che esercita. Allo "
"stesso modo, la corrispondenza di un'istruzione deve essere intesa in "
"termini di byte e dati che verifica."

#: website/public/blog/reverse-engineering-models/index.html:654
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 ""
"Prima di utilizzare uno dei due tipi di controllo di verifica come "
"ricompensa, lo testerei con risultati deliberatamente errati. Vorrei anche "
"mantenere l'accettazione finale separata dal codice sorgente che l'agente AI"
" può modificare. Il modello deve superare la verifica ricostruendo "
"correttamente il programma. Altrimenti, la semplice copia di un array di "
"byte dalla destinazione potrebbe ingannare un ingenuo sistema di punteggio "
"senza recuperare codice sorgente utile."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:662
#, 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}Migliorare lo studente e migliorare il suo strumento di verifica "
"appartengono allo stesso problema di ricerca.{ph1} Man mano che lo studente "
"migliora nell'ottimizzare il feedback che gli forniamo, anche comprendere "
"quel feedback diventa più importante."

#: website/public/blog/reverse-engineering-models/index.html:672
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "A comparison worth running"
msgstr "Un confronto che vale la pena fare"

#: website/public/blog/reverse-engineering-models/index.html:673
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 ""
"Con questi controlli in atto, inizierei il confronto su una famiglia di "
"attività VC7.1 fissa. Innanzitutto, stabilirei le linee di base per un forte"
" modello di intelligenza artificiale generale e uno più piccolo. L'aggiunta "
"della conoscenza del repository al modello più piccolo mostrerebbe quali "
"cambiamenti nel recupero. Da lì, la specializzazione supervisionata e una "
"versione addestrata con RL ci permetterebbero di esaminare cosa aggiunge la "
"formazione."

#: website/public/blog/reverse-engineering-models/index.html:681
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 ""
"Per rendere informativi questi confronti, ciascun modello riceverebbe le "
"stesse prove e strumenti target. Per i confronti specifici della formazione,"
" manterrei fisso anche il modello base e le conoscenze disponibili. Prove "
"ripetute aiuterebbero a distinguere una strategia di ricerca affidabile da "
"una soluzione candidata che ha successo per caso."

#: website/public/blog/reverse-engineering-models/index.html:688
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 ""
"Separerei quindi due condizioni iniziali: ricostruire una funzione dalle sue"
" istruzioni e chiudere le ultime differenze nel sorgente mantenuto. Un "
"modello di IA specializzato potrebbe essere eccellente per il secondo "
"compito, mentre un modello di IA generico svolge gran parte del lavoro "
"necessario per raggiungerlo. Misurarli separatamente rivelerebbe quella "
"divisione del lavoro."

#: website/public/blog/reverse-engineering-models/index.html:696
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 ""
"Entrambi i compiti necessitano di esempi di test esclusi dall'addestramento "
"e dal recupero. I giochi Touhou correlati condividono il codice motore. "
"Escludere un gioco dall'allenamento potrebbe comunque lasciare funzioni "
"quasi identiche nel set di allenamento. Invece, escluderei interi gruppi di "
"codice sorgente correlato e manterrei le loro risposte verificate fuori sia "
"dai dati di addestramento che dalla libreria di recupero."

#: website/public/blog/reverse-engineering-models/index.html:703
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 ""
"Per questi esempi, il risultato sarebbe corrispondenze complete e verificate"
" in modo indipendente. Budget uguali per le proposte dei candidati o i "
"tentativi di compilazione aiuterebbero a confrontare la qualità della "
"ricerca. La misurazione del tempo e dei costi totali, inclusa la "
"compilazione, mostrerebbe se tale qualità produce un flusso di lavoro "
"efficiente. I costi di formazione dovrebbero essere misurati separatamente."

#: website/public/blog/reverse-engineering-models/index.html:711
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 ""
"Entrambe le misurazioni contano. Una proposta economica può portare a un "
"flusso di lavoro costoso se comporta più compilazioni che non forniscono "
"informazioni utili. Al contrario, un modello più lento può essere più "
"economico se trova prima un esperimento utile. Il confronto dovrebbe "
"includere questi costi."

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/ab72fd77728293fc0beacfc656ca701b0e266016"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html:717
#, 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 ""
"Il conteggio dei risultati accettati mantiene inoltre in prospettiva i "
"progressi intermedi. Un TH09 {ph0}candidato al replay-save{ph1} sembrava "
"promettente perché la funzione compilata aveva le dimensioni previste, ma un"
" confronto completo ha comunque rilevato differenze sostanziali. I "
"cambiamenti nel modo in cui il compilatore organizza le istruzioni possono "
"anche far sembrare un candidato più vicino al risultato atteso senza "
"risolvere il problema di fondo. Tale diagnostica può guidare il prossimo "
"esperimento, ma convaliderei qualsiasi ricompensa per \"avvicinarsi\" "
"rispetto al controllo completo di accettazione."

#: website/public/blog/reverse-engineering-models/index.html:732
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 ""
"Sarei interessato allo schema tra questi risultati. Se un modello di "
"intelligenza artificiale specializzato funziona bene all’interno di una "
"famiglia di compilatori familiare, tale vantaggio sopravvive a un "
"cambiamento nella toolchain? E una volta che entrambi i modelli di "
"intelligenza artificiale hanno un buon recupero, quanto aggiunge ancora "
"l’addestramento? Le risposte ci aiuterebbero a decidere dove ciascun tipo di"
" modello è più utile."

#: website/public/blog/reverse-engineering-models/index.html:741
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "What kind of agent does this suggest?"
msgstr "Che tipo di agente AI suggerisce questo?"

#: website/public/blog/reverse-engineering-models/index.html:742
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 ""
"Se i modelli si rivelano utili in diverse fasi, una soluzione utile potrebbe"
" essere un ampio agente con accesso a un modello di intelligenza artificiale"
" specializzato. Una volta che un'attività diventa una ricerca familiare del "
"compilatore, potrebbe richiedere il modello di intelligenza artificiale "
"specializzato per i candidati. Se i risultati smettono di avere senso, "
"l’agente più ampio potrebbe tornare all’evidenza target o indagare sulla "
"misurazione stessa."

#: website/public/blog/reverse-engineering-models/index.html:750
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 ""
"In questo modo, la specializzazione diventa uno strumento che l’agente può "
"scegliere man mano che l’indagine si sviluppa. L'agente mantiene la libertà "
"di cambiare direzione che ha reso possibili i progressi precedenti."

#: website/public/blog/reverse-engineering-models/index.html:755
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 ""
"Ciò deriva naturalmente dal cambiamento industriale che ho descritto nel "
"saggio precedente. Essere in grado di eseguire molti più esperimenti cambia "
"il modo in cui organizziamo il lavoro. Ci dà anche una ragione per chiederci"
" quali decisioni necessitano di un ampio giudizio e quali migliorano "
"attraverso l’esperienza ripetuta con una particolare imbarcazione."

#: website/public/blog/reverse-engineering-models/index.html:762
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 ""
"Per ora il modello generale più forte si è guadagnato il suo posto nel mio "
"lavoro risolvendo problemi che avevo lasciato aperti. Sono proprio questi "
"successi a farmi studiare il processo: quanto dipendeva dall’ampiezza delle "
"sue capacità, e quanto potrebbe fare un modello addestrato specificamente "
"per questo tipo di ricostruzione?"

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html:770
#, 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}I repository ci offrono un modo per testare la domanda.{ph1} Vorrei "
"utilizzare quel record per creare il confronto e vedere cosa impariamo."

#: website/public/blog/reverse-engineering-models/index.html:780
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Evidence and model attribution"
msgstr "Evidenze e attribuzione del modello"

#: website/public/blog/reverse-engineering-models/index.html:788
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 ""
"Gli esempi descrivono i confronti storici a livello di funzione registrati "
"nei commit collegati. I controlli di runtime dell'intero gioco sono "
"traguardi separati. I record di origine e corrispondenza sono stati "
"esaminati il 13 ottobre 2026."

#. {ph0}: <code>gpt-dots</code>
#. {ph1}: <code>gpt-web</code>
#: website/public/blog/reverse-engineering-models/index.html:794
#, 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 ""
"L'etichetta TH09 {ph0} significa GPT-6-Astra. Il modello associato a {ph1} è"
" cambiato nel tempo, quindi l'etichetta da sola non può identificare il "
"modello utilizzato in una specifica esecuzione. I nomi espliciti dei modelli"
" negli altri commit citati forniscono l'attribuzione registrata. Queste "
"cronologie non includono misurazioni coerenti dei costi o dell'impegno per "
"ogni esecuzione."

#. {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:803
#, 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 durata degli oggetti temporanei:{ph1} la {ph2}revisione del "
"contesto precedente{ph3} e la {ph4}ricostruzione completa verificata da una "
"ricompilazione pulita dall'origine{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:815
#, 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}aree diagnostiche che non "
"corrispondevano{ph3}, il nuovo grafico del flusso di controllo di "
"{ph4}Astra{ph5} e il relativo {ph6}controllo di ricompilazione "
"accettato{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:831
#, 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}Conoscenze del compilatore:{ph1} {ph2}TH095 riutilizzo del "
"comportamento del bucket di identificatori{ph3}, {ph4}TH04 codice sorgente "
"del giocatore e ordine dei linker{ph5} e {ph6}Luna ricostruzione completa "
"della funzione di creazione del nemico di 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:847
#, 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}Controlli e diagnostica:{ph1} {ph2}TH08 audit costante in virgola "
"mobile{ph3}, {ph4}TH08 indagine numerica{ph5} e {ph6}TH09 ricostruzione con "
"salvataggio replay{ph7}."

#: website/public/blog/reverse-engineering-models/index.html:864
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 ""
"I confronti proposti tra modelli specializzati e la formazione RL sono "
"esperimenti futuri. Le storie dei progetti li motivano. Per questo saggio "
"non è stato valutato alcun modello specializzato addestrato."

#: 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 "Il reverse engineering necessita di un modello più grande? | 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 ""
"Cosa mi ha insegnato la ricostruzione Touhou sui modelli generali, sui "
"modelli specialistici e sull'imparare a proporre ipotesi migliori dal "
"feedback del compilatore."

#: website/public/blog/reverse-engineering-models/index.html:245
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "On this page"
msgstr "In questa pagina"

#: website/public/blog/reverse-engineering-models/index.html:258
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Models and reverse engineering essay"
msgstr "Modelli e saggio di reverse engineering"

#: website/public/blog/reverse-engineering-models/index.html:496
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Selected reconstruction experiments"
msgstr "Esperimenti di ricostruzione selezionati"

#: website/public/blog/reverse-engineering-models/index.html:889
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#. {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:781
#, 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 ""
"Le {ph0}note dettagliate sulle prove{ph1} includono i confronti registrati e"
" il contesto degli esperimenti."

#. {ph0}: <a href="#showcases">
#. {ph1}: </a>
#: website/public/index.html:217
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Showcases{ph1}"
msgstr "{ph0}Casi pratici{ph1}"

#: website/public/index.html:1028
msgctxt "page:index.html"
msgid "REA case studies."
msgstr "Studi di casi REA."

#: website/public/index.html:1038
msgctxt "page:index.html"
msgid "Android · APK analysis"
msgstr "Android * Analisi APK"

#: website/public/index.html:1039
msgctxt "page:index.html"
msgid "How an authenticator generates a login code"
msgstr "Come un autenticatore genera un codice di accesso"

#: website/public/index.html:1044
msgctxt "page:index.html"
msgid "Read the Android case study"
msgstr "Leggi il case study di Android"

#: website/public/index.html:1049
msgctxt "page:index.html"
msgid "Electron · Feature tracing"
msgstr "Electron * Funzione di tracciamento"

#: website/public/index.html:1050
msgctxt "page:index.html"
msgid "How Notion copies text and HTML"
msgstr "Come Notion copia testo e HTML"

#: website/public/index.html:1055
msgctxt "page:index.html"
msgid "Read the Notion case study"
msgstr "Leggi il caso di studio Notion"

#: website/public/index.html:1060
msgctxt "page:index.html"
msgid "Native · Reconstruction"
msgstr "Nativo * Ricostruzione"

#: website/public/index.html:1061
msgctxt "page:index.html"
msgid "DX-Ball's sound-pan calculation"
msgstr "DX-Ball ' s calcolo di sinistra / destra posizione del suono"

#: website/public/index.html:1066
msgctxt "page:index.html"
msgid "Read the DX-Ball case study"
msgstr "Leggi il caso di studio DX-Ball"

#: website/public/index.html:295
msgctxt "page:index.html"
msgid "Setup options"
msgstr "Opzioni di configurazione"

#: website/public/get-started/index.html:201
msgctxt "page:get-started/index.html"
msgid ""
"Set up your computer and coding agent, connect REA, then investigate a small"
" app."
msgstr ""
"Prepara il computer e l'agente di programmazione, collega REA e poi analizza"
" una piccola app."

#. {ph0}: <a href="#agent">
#. {ph1}: </a>
#: website/public/get-started/index.html:205
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"New to this? Follow the four steps below. Already have an agent? Go straight"
" to {ph0}Connect REA{ph1}."
msgstr ""
"È la prima volta? Segui i quattro passaggi qui sotto. Hai già un agente? Vai"
" direttamente a {ph0}Collega REA{ph1}."

#. {ph0}: <a href="#computer">
#. {ph1}: </a>
#: website/public/get-started/index.html:214
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}1. Prepare your computer{ph1}"
msgstr "{ph0}1. Prepara il computer{ph1}"

#. {ph0}: <a href="#choose-agent">
#. {ph1}: </a>
#: website/public/get-started/index.html:215
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}2. Choose an agent{ph1}"
msgstr "{ph0}2. Scegli un agente{ph1}"

#. {ph0}: <a href="#agent">
#. {ph1}: </a>
#: website/public/get-started/index.html:216
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}3. Connect REA{ph1}"
msgstr "{ph0}3. Collega REA{ph1}"

#. {ph0}: <a href="#first-task">
#. {ph1}: </a>
#: website/public/get-started/index.html:217
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}4. Try an investigation{ph1}"
msgstr "{ph0}4. Prova un'analisi{ph1}"

#. {ph0}: <a href="#native">
#. {ph1}: </a>
#: website/public/get-started/index.html:218
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Other targets and providers{ph1}"
msgstr "{ph0}Altri obiettivi e strumenti di analisi{ph1}"

#: website/public/get-started/index.html:225
msgctxt "page:get-started/index.html"
msgid "1. Prepare your computer"
msgstr "1. Prepara il computer"

#: website/public/get-started/index.html:226
msgctxt "page:get-started/index.html"
msgid ""
"Use the computer where your target files are stored. A local coding agent "
"can read those files and run tools for you."
msgstr ""
"Usa il computer su cui si trovano i file da analizzare. Un agente di "
"programmazione locale può leggere quei file ed eseguire strumenti per te."

#: website/public/get-started/index.html:251
msgctxt "page:get-started/index.html"
msgid ""
"Commands go in the terminal. Prompts labeled “Your coding agent” go in the "
"agent's chat."
msgstr ""
"I comandi vanno nel terminale. I prompt con l'etichetta “Il tuo agente di "
"programmazione” vanno nella chat dell'agente."

#. {ph0}: <a href="https://nodejs.org/en/download" >
#. {ph1}: </a >
#: website/public/get-started/index.html:307
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Download the Node.js installer{ph1} if winget is unavailable."
msgstr ""
"{ph0}Scarica il programma di installazione di Node.js{ph1} se winget non è "
"disponibile."

#. {ph0}: <em>
#. {ph1}: </em>
#. {ph2}: <code>npx</code>
#. {ph3}: <code>npx.cmd</code>
#. {ph4}: <code>npm.cmd</code>
#: website/public/get-started/index.html:313
#, 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}, use {ph3} instead. For npm, use {ph4}:"
msgstr ""
"Se in seguito PowerShell mostra {ph0}\"running scripts is disabled on this "
"system\"{ph1} quando esegui {ph2}, usa invece {ph3}. Per npm, usa {ph4}:"

#: website/public/get-started/index.html:411
msgctxt "page:get-started/index.html"
msgid "Make a working folder for your agent"
msgstr "Crea una cartella di lavoro per l'agente"

#: website/public/get-started/index.html:412
msgctxt "page:get-started/index.html"
msgid "In your terminal, make a folder for the exercise, then move into it:"
msgstr ""
"Nel terminale, crea una cartella per l'esercizio e poi entra nella cartella:"

#: website/public/get-started/index.html:431
msgctxt "page:get-started/index.html"
msgid ""
"Keep this terminal open for the next step. If you already have a working "
"folder, open it instead."
msgstr ""
"Lascia aperto questo terminale per il passaggio successivo. Se hai già una "
"cartella di lavoro, apri quella."

#: website/public/get-started/index.html:438
msgctxt "page:get-started/index.html"
msgid "2. Choose a coding agent"
msgstr "2. Scegli un agente di programmazione"

#: website/public/get-started/index.html:439
msgctxt "page:get-started/index.html"
msgid ""
"Your agent is the AI you talk to. REA supplies the inspection tools it uses."
" Pick one client below; open its instructions if you haven't used it before."
msgstr ""
"Il tuo agente è l'IA con cui parli. REA gli fornisce gli strumenti di "
"analisi. Scegli una delle applicazioni qui sotto; apri le istruzioni se non "
"l'hai mai usata."

#: website/public/get-started/index.html:445
msgctxt "page:get-started/index.html"
msgid "Codex · use your ChatGPT account"
msgstr "Codex · usa il tuo account ChatGPT"

#: website/public/get-started/index.html:493
msgctxt "page:get-started/index.html"
msgid ""
"Choose “Sign in with ChatGPT”, complete the browser sign-in, then return to "
"the terminal. When the message box appears, continue to step 3."
msgstr ""
"Scegli “Sign in with ChatGPT”, completa l'accesso nel browser e poi torna al"
" terminale. Quando appare il campo per i messaggi, continua al passaggio 3."

#. {ph0}: <a href="https://learn.chatgpt.com/docs/codex/cli" >
#. {ph1}: </a >
#: website/public/get-started/index.html:498
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Codex installation and sign-in{ph1}"
msgstr "{ph0}Installazione di Codex e accesso{ph1}"

#: website/public/get-started/index.html:505
msgctxt "page:get-started/index.html"
msgid "Cursor, Windsurf or VS Code · use an editor"
msgstr "Cursor, Windsurf o VS Code · usa un editor"

#: website/public/get-started/index.html:507
msgctxt "page:get-started/index.html"
msgid "Install the editor for your operating system and sign in."
msgstr "Installa l'editor per il tuo sistema operativo e accedi."

#: website/public/get-started/index.html:510
msgctxt "page:get-started/index.html"
msgid "Open the rea-work folder you made in step 1."
msgstr "Apri la cartella rea-work creata al passaggio 1."

#: website/public/get-started/index.html:529
msgctxt "page:get-started/index.html"
msgid "Claude Code · use your Claude account"
msgstr "Claude Code · usa il tuo account Claude"

#: website/public/get-started/index.html:530
msgctxt "page:get-started/index.html"
msgid "Install using the command for your operating system:"
msgstr "Installa con il comando per il tuo sistema operativo:"

#. {ph0}: <code>claude</code>
#: website/public/get-started/index.html:559
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Reopen your terminal, return to your working folder and run {ph0}. Follow "
"the sign-in prompts. Access uses an eligible Claude subscription or a "
"configured API account."
msgstr ""
"Riapri il terminale, torna nella cartella di lavoro ed esegui {ph0}. Segui "
"le istruzioni per l'accesso. L'accesso richiede un abbonamento Claude idoneo"
" o un account API configurato."

#. {ph0}: <a href="https://code.claude.com/docs/en/setup" >
#. {ph1}: </a >
#: website/public/get-started/index.html:564
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Claude Code installation and account options{ph1}"
msgstr "{ph0}Installazione di Claude Code e opzioni dell'account{ph1}"

#: website/public/get-started/index.html:571
msgctxt "page:get-started/index.html"
msgid "Claude Desktop · use a desktop chat"
msgstr "Claude Desktop · usa una chat desktop"

#. {ph0}: <a href="https://claude.ai/download">
#. {ph1}: </a>
#. {ph2}: <a href="https://github.com/morluto/rea/blob/main/docs/client-
#. configuration.md#claude-desktop" >
#. {ph3}: </a >
#: website/public/get-started/index.html:595
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"{ph0}Download Claude Desktop{ph1} · {ph2}Claude Desktop connection "
"details{ph3}"
msgstr ""
"{ph0}Scarica Claude Desktop{ph1} · {ph2}Dettagli della connessione di Claude"
" Desktop{ph3}"

#. {ph0}: <code>opencode</code>
#. {ph1}: <code>/connect</code>
#: website/public/get-started/index.html:620
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Run {ph0} in your working folder. Use {ph1} in its chat to connect your "
"model account, then select a model."
msgstr ""
"Esegui {ph0} nella cartella di lavoro. Usa {ph1} nella sua chat per "
"collegare l'account del modello, quindi scegli un modello."

#. {ph0}: <a href="https://opencode.ai/docs/" >
#. {ph1}: </a >
#: website/public/get-started/index.html:625
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}OpenCode installation and model setup{ph1}"
msgstr "{ph0}Installazione di OpenCode e configurazione del modello{ph1}"

#: website/public/get-started/index.html:632
msgctxt "page:get-started/index.html"
msgid "All supported clients and setup IDs"
msgstr "Tutte le applicazioni supportate e i relativi ID di configurazione"

#. {ph0}: <code>--client</code>
#: website/public/get-started/index.html:633
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"The npm 6.4.0 release supports the clients below. Use the ID with {ph0} when"
" choosing a client explicitly."
msgstr ""
"La versione npm 6.4.0 supporta le applicazioni qui sotto. Usa l'ID con {ph0}"
" quando scegli esplicitamente un'applicazione."

#: website/public/get-started/index.html:641
msgctxt "page:get-started/index.html"
msgid "Client"
msgstr "Applicazione"

#: website/public/get-started/index.html:642
msgctxt "page:get-started/index.html"
msgid "Setup ID"
msgstr "ID di configurazione"

#. {ph0}: <code>qoder</code>
#. {ph1}: <code>droid</code>
#. {ph2}: <code>trae</code>
#. {ph3}: <code>zcode</code>
#. {ph4}: <code>dsh</code>
#: website/public/get-started/index.html:717
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Qoder ({ph0}), Factory Droid ({ph1}), Trae ({ph2}), ZCode ({ph3}) and "
"DeepSeek Harness ({ph4}) are available on repository main; use a source "
"build or a release containing those integrations."
msgstr ""
"Qoder ({ph0}), Factory Droid ({ph1}), Trae ({ph2}), ZCode ({ph3}) e DeepSeek"
" Harness ({ph4}) sono disponibili nel ramo main del repository; usa una "
"build dai sorgenti o una versione che includa queste integrazioni."

#. {ph0}: <a href="https://github.com/morluto/rea/blob/main/docs/client-
#. configuration.md" >
#. {ph1}: </a >
#. {ph2}: <a
#. href="https://github.com/morluto/rea/blob/main/docs/installation.md#released-
#. package-and-main" >
#. {ph3}: </a >
#: website/public/get-started/index.html:724
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"{ph0}Client configuration and troubleshooting{ph1} · {ph2}Release "
"availability{ph3}"
msgstr ""
"{ph0}Configurazione delle applicazioni e risoluzione dei problemi{ph1} · "
"{ph2}Disponibilità nelle versioni{ph3}"

#: website/public/get-started/index.html:736
msgctxt "page:get-started/index.html"
msgid "Grok Bot · connect on its hosted computer"
msgstr "Grok Bot · collegalo sul computer che lo ospita"

#. {ph0}: <code>rea</code>
#: website/public/get-started/index.html:737
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"In Grok Bot's chat, ask it to add a custom MCP server named {ph0} using this"
" command on the Bot's computer:"
msgstr ""
"Nella chat di Grok Bot, chiedigli di aggiungere un server MCP personalizzato"
" chiamato {ph0} usando questo comando sul computer del Bot:"

#. {ph0}: <a href="https://github.com/morluto/rea/blob/main/docs/client-
#. configuration.md#other-client-settings" >
#. {ph1}: </a >
#: website/public/get-started/index.html:755
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Grok Bot connector instructions{ph1}"
msgstr "{ph0}Istruzioni per il connettore di Grok Bot{ph1}"

#: website/public/get-started/index.html:765
msgctxt "page:get-started/index.html"
msgid "3. Connect REA"
msgstr "3. Collega REA"

#: website/public/get-started/index.html:766
msgctxt "page:get-started/index.html"
msgid "Copy this into your coding agent:"
msgstr "Copia questo prompt nel tuo agente di programmazione:"

#: website/public/get-started/index.html:810
msgctxt "page:get-started/index.html"
msgid "For one specific client, add its setup ID:"
msgstr "Per un'applicazione specifica, aggiungi il suo ID di configurazione:"

#. {ph0}: <code>y</code>
#: website/public/get-started/index.html:825
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"If npm asks to download the package, type {ph0} and press Enter. In REA's "
"client list, use the arrow keys to move, Space to select your client and "
"Enter to continue."
msgstr ""
"Se npm chiede di scaricare il pacchetto, digita {ph0} e premi Enter. "
"Nell'elenco delle applicazioni di REA, usa le frecce per spostarti, Space "
"per selezionare la tua applicazione ed Enter per continuare."

#: website/public/get-started/index.html:836
msgctxt "page:get-started/index.html"
msgid ""
"MCP is the connection that lets your agent call REA. The skill gives it a "
"workflow for investigating software."
msgstr ""
"MCP è la connessione che permette all'agente di chiamare REA. La skill gli "
"fornisce un flusso di lavoro per analizzare il software."

#: website/public/get-started/index.html:840
msgctxt "page:get-started/index.html"
msgid ""
"For the first exercise, you can skip the optional Hopper installation. "
"Restart your client when setup finishes."
msgstr ""
"Per il primo esercizio puoi saltare l'installazione facoltativa di Hopper. "
"Riavvia l'applicazione dell'agente al termine della configurazione."

#. {ph0}: <code>codex</code>
#. {ph1}: <code>"healthy": true</code>
#: website/public/get-started/index.html:873
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Replace {ph0} with your client's setup ID. A successful check reports {ph1}."
" Then ask your agent:"
msgstr ""
"Sostituisci {ph0} con l'ID di configurazione della tua applicazione. Un "
"controllo riuscito restituisce {ph1}. Poi chiedi all'agente:"

#: website/public/get-started/index.html:879
msgctxt "page:get-started/index.html"
msgid "Check that REA is connected and show me which REA tools you can use."
msgstr ""
"Verifica che REA sia collegato e mostrami quali strumenti REA puoi usare."

#: website/public/get-started/index.html:886
msgctxt "page:get-started/index.html"
msgid "4. Try your first investigation"
msgstr "4. Prova la tua prima analisi"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/get-started/index.html:887
#, python-brace-format
msgctxt "page:get-started/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 ""
"L'esempio è un'app Electron a sei file con un {ph0}Note di esportazione{ph1}"
" pulsante. L'agente può ispezionare il codice senza installare o avviare "
"Electron ."

#: website/public/get-started/index.html:894
msgctxt "page:get-started/index.html"
msgid "Your coding agent"
msgstr "Il tuo agente di programmazione"

#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
#. {ph1}: </span >
#. {ph2}: <span id="setup-first-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/get-started/index.html:904
#, python-brace-format
msgctxt "page:get-started/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}Scaricare {ph3} in una nuova cartella di esempio e "
"decomprimerla. Utilizzare REA per trovare ciò che accade quando faccio clic "
"su Esporta note. Mostra dove {ph4} è scritto, quali campi contiene e i file "
"e le linee pertinenti.{ph5}{ph6}{ph7}"

#: website/public/get-started/index.html:918
msgctxt "page:get-started/index.html"
msgid "Look for a short explanation with file and line references:"
msgstr "Cerca una breve spiegazione con riferimenti a file e righe:"

#. {ph0}: <code>notes:export</code>
#. {ph1}: <code>notes.csv</code>
#. {ph2}: <code>id</code>
#. {ph3}: <code>title</code>
#: website/public/get-started/index.html:920
#, python-brace-format
msgctxt "page:get-started/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 ""
"Il pulsante invia un {ph0} messaggio. Il processo principale formatta le "
"note come CSV e scrive {ph1} nella cartella Download dell'utente. Le colonne"
" sono {ph2} e {ph3}."

#. {ph0}: <a href="../first-investigation/#check" >
#. {ph1}: </a >
#: website/public/get-started/index.html:927
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Check a prediction in the guided exercise →{ph1}"
msgstr "{ph0}Verifica una previsione nell'esercizio guidato →{ph1}"

#: website/public/get-started/index.html:933
msgctxt "page:get-started/index.html"
msgid "Download the example yourself, or use your own app"
msgstr "Scarica l'esempio da solo o usa la tua app"

#. {ph0}: <a class="button" href="../examples/notes-example.zip"
#. download="notes-example.zip" >
#. {ph1}: </a >
#: website/public/get-started/index.html:936
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Download example ZIP{ph1}"
msgstr "{ph0}Scarica esempio ZIP{ph1}"

#. {ph0}: <code>notes-example</code>
#: website/public/get-started/index.html:944
#, python-brace-format
msgctxt "page:get-started/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 ""
"Se il tuo agente non riesce a scaricare i file, decomprimi tu stesso questo "
"archivio. Dare il percorso per il {ph0} cartella e la stessa domanda di "
"esportazione."

#. {ph0}: <code>/absolute/path/to/app</code>
#: website/public/get-started/index.html:950
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Use REA to inspect the app at {ph0}. Find how it exports data and show the "
"relevant files and lines."
msgstr ""
"Usa REA per analizzare l'app in {ph0}. Trova come esporta i dati e mostra i "
"file e le righe pertinenti."

#: website/public/get-started/index.html:980
msgctxt "page:get-started/index.html"
msgid "Analyze another kind of software"
msgstr "Analizza un altro tipo di software"

#: website/public/get-started/index.html:981
msgctxt "page:get-started/index.html"
msgid ""
"Choose the section for your target. A provider is the local analysis tool "
"REA uses for that kind of software."
msgstr ""
"Scegli la sezione per ciò che vuoi analizzare. Un provider è lo strumento di"
" analisi locale che REA usa per quel tipo di software."

#: website/public/get-started/index.html:986
msgctxt "page:get-started/index.html"
msgid "Native executables and libraries · Hopper, Ghidra or IDA"
msgstr "Eseguibili e librerie native · Hopper, Ghidra o IDA"

#: website/public/get-started/index.html:989
msgctxt "page:get-started/index.html"
msgid ""
"Install one analysis tool on the computer running REA. The host is your "
"operating system; the target is the program you want to inspect."
msgstr ""
"Installa uno strumento di analisi sul computer che esegue REA. L'host è il "
"tuo sistema operativo; il target è il programma che vuoi analizzare."

#: website/public/get-started/index.html:998
msgctxt "page:get-started/index.html"
msgid "Provider"
msgstr "Strumento di analisi"

#: website/public/get-started/index.html:1007
msgctxt "page:get-started/index.html"
msgid "Unavailable"
msgstr "Non disponibile"

#: website/public/get-started/index.html:1009
msgctxt "page:get-started/index.html"
msgid "Supported distributions"
msgstr "Distribuzioni supportate"

#: website/public/get-started/index.html:1013
msgctxt "page:get-started/index.html"
msgid "x64 · experimental"
msgstr "x64 · sperimentale"

#: website/public/get-started/index.html:1019
msgctxt "page:get-started/index.html"
msgid "Verified profiles"
msgstr "Profili verificati"

#: website/public/get-started/index.html:1020
msgctxt "page:get-started/index.html"
msgid "Verified headless profile"
msgstr "Profilo senza interfaccia grafica verificato"

#: website/public/get-started/index.html:1021
msgctxt "page:get-started/index.html"
msgid "See provider guide"
msgstr "Consulta la guida del provider"

#: website/public/get-started/index.html:1027
msgctxt "page:get-started/index.html"
msgid "Hopper · let setup install or connect it"
msgstr "Hopper · lascia che la configurazione lo installi o lo colleghi"

#: website/public/get-started/index.html:1033
msgctxt "page:get-started/index.html"
msgid ""
"Choose Hopper in setup and review its separate installation plan. On macOS, "
"choose demo mode or activate your license when Hopper first opens. On Linux,"
" setup prepares the supported demo and its private display."
msgstr ""
"Scegli Hopper durante la configurazione e controlla il suo piano di "
"installazione separato. Su macOS, scegli la modalità demo o attiva la "
"licenza al primo avvio di Hopper. Su Linux, la configurazione prepara la "
"demo supportata e il suo display privato."

#: website/public/get-started/index.html:1039
msgctxt "page:get-started/index.html"
msgid ""
"Linux hosts: Ubuntu 24.04+, Fedora 41+, Nobara 44+, Arch Linux, CachyOS or "
"Omarchy. Hopper is commercial software; its demo has vendor-defined limits."
msgstr ""
"Host Linux: Ubuntu 24.04+, Fedora 41+, Nobara 44+, Arch Linux, CachyOS o "
"Omarchy. Hopper è un software commerciale; la demo ha limiti definiti dal "
"produttore."

#: website/public/get-started/index.html:1058
msgctxt "page:get-started/index.html"
msgid ""
"If macOS asks for Automation permission, allow the app that starts REA in "
"System Settings → Privacy & Security → Automation, then retry."
msgstr ""
"Se macOS chiede il permesso Automation, autorizza l'app che avvia REA in "
"System Settings → Privacy & Security → Automation, poi riprova."

#. {ph0}: <a
#. href="https://github.com/morluto/rea/blob/main/docs/installation.md#hopper"
#. >
#. {ph1}: </a >
#: website/public/get-started/index.html:1063
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Hopper setup and troubleshooting{ph1}"
msgstr "{ph0}Configurazione di Hopper e risoluzione dei problemi{ph1}"

#: website/public/get-started/index.html:1071
msgctxt "page:get-started/index.html"
msgid "Ghidra · install the free analysis tool and Java"
msgstr "Ghidra · installa lo strumento di analisi gratuito e Java"

#: website/public/get-started/index.html:1075
msgctxt "page:get-started/index.html"
msgid ""
"Install a 64-bit JDK 21 or newer, including the Java compiler. Choose the "
"package matching your computer's architecture."
msgstr ""
"Installa un JDK a 64 bit, versione 21 o successiva, incluso il compilatore "
"Java. Scegli il pacchetto adatto all'architettura del tuo computer."

#. {ph0}: <code>ghidra_…_PUBLIC_….zip</code>
#: website/public/get-started/index.html:1080
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Download Ghidra 12.1.4 from the release's Assets list and extract the {ph0} "
"archive. Choose the release archive, not “Source code”."
msgstr ""
"Scarica Ghidra 12.1.4 dall'elenco Assets della versione ed estrai l'archivio"
" {ph0}. Scegli l'archivio della versione, non “Source code”."

#. {ph0}: <code>ghidraRun</code>
#. {ph1}: <code>ghidraRun.bat</code>
#. {ph2}: <code>GHIDRA_INSTALL_DIR</code>
#: website/public/get-started/index.html:1085
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Find the extracted folder containing {ph0} or {ph1}. Use that folder for "
"{ph2}."
msgstr ""
"Trova la cartella estratta che contiene {ph0} o {ph1}. Usa quella cartella "
"per {ph2}."

#. {ph0}: <a href="https://adoptium.net/temurin/releases/?version=21" >
#. {ph1}: </a >
#. {ph2}: <a
#. href="https://github.com/NationalSecurityAgency/ghidra/releases/tag/Ghidra_12.1.4_build"
#. >
#. {ph3}: </a >
#: website/public/get-started/index.html:1091
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Download a JDK{ph1} · {ph2}Download Ghidra 12.1.4{ph3}"
msgstr "{ph0}Scarica un JDK{ph1} · {ph2}Scarica Ghidra 12.1.4{ph3}"

#. {ph0}: <code>java.home</code>
#. {ph1}: <code>JAVA_HOME</code>
#: website/public/get-started/index.html:1101
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Check Java. The first command prints {ph0}; use that folder for {ph1}. The "
"second confirms the compiler is installed:"
msgstr ""
"Controlla Java. Il primo comando stampa {ph0}; usa quella cartella per "
"{ph1}. Il secondo conferma che il compilatore è installato:"

#: website/public/get-started/index.html:1217
msgctxt "page:get-started/index.html"
msgid ""
"Keep these commands in the same terminal session. Rerun setup after setting "
"the paths, approve the updated client configuration, then restart your "
"agent."
msgstr ""
"Esegui questi comandi nella stessa sessione del terminale. Rilancia la "
"configurazione dopo aver impostato i percorsi, approva la configurazione "
"aggiornata dell'applicazione e poi riavvia l'agente."

#. {ph0}: <a
#. href="https://github.com/morluto/rea/blob/main/docs/installation.md#ghidra"
#. >
#. {ph1}: </a >
#. {ph2}: <a href="https://github.com/morluto/rea/blob/main/docs/windows-
#. ghidra-p0.md" >
#. {ph3}: </a >
#: website/public/get-started/index.html:1222
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"{ph0}Ghidra setup and architecture requirements{ph1} · {ph2}Windows Ghidra "
"guide{ph3}"
msgstr ""
"{ph0}Configurazione di Ghidra e requisiti di architettura{ph1} · {ph2}Guida "
"a Ghidra su Windows{ph3}"

#: website/public/get-started/index.html:1235
msgctxt "page:get-started/index.html"
msgid "IDA · connect an existing installation"
msgstr "IDA · collega un'installazione esistente"

#: website/public/get-started/index.html:1236
msgctxt "page:get-started/index.html"
msgid ""
"Use the IDA provider guide to prepare an upstream MCP registration. Choose "
"an attached GUI with the original binary open, or a headless supervisor that"
" opens a private database."
msgstr ""
"Usa la guida al provider IDA per preparare una registrazione MCP del server "
"upstream. Scegli una GUI collegata con il binario originale aperto, oppure "
"un supervisore senza interfaccia grafica che apre un database privato."

#: website/public/get-started/index.html:1241
msgctxt "page:get-started/index.html"
msgid ""
"Verified profiles include the Windows legacy GUI and headless supervisor, "
"plus a macOS arm64 headless supervisor with IDA Professional 9.1. The "
"optional native GUI bridge has its own version and platform requirements."
msgstr ""
"I profili verificati includono la GUI legacy e il supervisore senza "
"interfaccia grafica su Windows, oltre a un supervisore senza interfaccia "
"grafica su macOS arm64 con IDA Professional 9.1. Il bridge nativo "
"facoltativo per la GUI ha requisiti propri di versione e piattaforma."

#: website/public/get-started/index.html:1336
msgctxt "page:get-started/index.html"
msgid ""
"Use the JSON registration file you prepared with the provider guide, then "
"rerun setup and restart your agent."
msgstr ""
"Usa il file di registrazione JSON preparato con la guida del provider, poi "
"rilancia la configurazione e riavvia l'agente."

#. {ph0}: <a href="https://github.com/morluto/rea/blob/main/docs/ida-
#. provider.md" >
#. {ph1}: </a >
#: website/public/get-started/index.html:1340
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}IDA profiles, registration examples and verified platforms{ph1}"
msgstr ""
"{ph0}Profili IDA, esempi di registrazione e piattaforme verificate{ph1}"

#: website/public/get-started/index.html:1348
msgctxt "page:get-started/index.html"
msgid ""
"Once connected, give your agent the original executable's full path and name"
" your provider:"
msgstr ""
"Una volta collegato, fornisci all'agente il percorso completo "
"dell'eseguibile originale e indica il provider:"

#. {ph0}: <a href="../guides/native/">
#. {ph1}: </a>
#: website/public/get-started/index.html:1360
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Follow a native analysis example{ph1}"
msgstr "{ph0}Segui un esempio di analisi nativa{ph1}"

#: website/public/get-started/index.html:1365
msgctxt "page:get-started/index.html"
msgid "Websites, Android, .NET, firmware and other targets"
msgstr "Siti web, Android, .NET, firmware e altri obiettivi"

#: website/public/get-started/index.html:1368
msgctxt "page:get-started/index.html"
msgid ""
"Open the guide for the target you have. Each guide gives the additional "
"tools, supported hosts and first command."
msgstr ""
"Apri la guida per ciò che vuoi analizzare. Ogni guida indica gli strumenti "
"aggiuntivi, gli host supportati e il primo comando."

#: website/public/get-started/index.html:1376
msgctxt "page:get-started/index.html"
msgid "Target"
msgstr "Target"

#: website/public/get-started/index.html:1377
msgctxt "page:get-started/index.html"
msgid "Tools to prepare"
msgstr "Strumenti da preparare"

#: website/public/get-started/index.html:1378
msgctxt "page:get-started/index.html"
msgid "Guide"
msgstr "Guida"

#: website/public/get-started/index.html:1383
msgctxt "page:get-started/index.html"
msgid "JavaScript / Electron"
msgstr "JavaScript / Electron"

#. {ph0}: <a href="../guides/javascript/">
#. {ph1}: </a>
#: website/public/get-started/index.html:1385
#: website/public/get-started/index.html:1390
#: website/public/get-started/index.html:1395
#: website/public/get-started/index.html:1405
#: website/public/get-started/index.html:1415
#: website/public/get-started/index.html:1425
#: website/public/get-started/index.html:1435
#: website/public/get-started/index.html:1445
#: website/public/get-started/index.html:1455
#: website/public/get-started/index.html:1465
#: website/public/get-started/index.html:1475
#: website/public/get-started/index.html:1485
#: website/public/get-started/index.html:1495
#: website/public/get-started/index.html:1505
#: website/public/get-started/index.html:1515
#: website/public/get-started/index.html:1525
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Open guide{ph1}"
msgstr "{ph0}Apri la guida{ph1}"

#: website/public/get-started/index.html:1388
msgctxt "page:get-started/index.html"
msgid "Website"
msgstr "Sito web"

#: website/public/get-started/index.html:1393
msgctxt "page:get-started/index.html"
msgid ".NET / Flutter / packages"
msgstr ".NET / Flutter / pacchetti"

#: website/public/get-started/index.html:1403
msgctxt "page:get-started/index.html"
msgid "Android APK"
msgstr "APK Android"

#: website/public/get-started/index.html:1413
msgctxt "page:get-started/index.html"
msgid "Android device"
msgstr "Dispositivo Android"

#: website/public/get-started/index.html:1423
msgctxt "page:get-started/index.html"
msgid "Android resources"
msgstr "Risorse Android"

#: website/public/get-started/index.html:1433
msgctxt "page:get-started/index.html"
msgid "JEB project"
msgstr "Progetto JEB"

#: website/public/get-started/index.html:1443
msgctxt "page:get-started/index.html"
msgid "Firmware"
msgstr "Firmware"

#: website/public/get-started/index.html:1453
msgctxt "page:get-started/index.html"
msgid "WASM"
msgstr "WASM"

#: website/public/get-started/index.html:1483
msgctxt "page:get-started/index.html"
msgid "ELF / Linux crash"
msgstr "ELF / crash di Linux"

#: website/public/get-started/index.html:1493
msgctxt "page:get-started/index.html"
msgid "HAR / SAZ / mitmproxy"
msgstr "HAR / SAZ / mitmproxy"

#: website/public/get-started/index.html:1503
msgctxt "page:get-started/index.html"
msgid "PCAP / PCAPNG"
msgstr "PCAP / PCAPNG"

#: website/public/get-started/index.html:1513
msgctxt "page:get-started/index.html"
msgid "Logic signals"
msgstr "Segnali logici"

#: website/public/get-started/index.html:1523
msgctxt "page:get-started/index.html"
msgid "Process behavior"
msgstr "Comportamento dei processi"

#. {ph0}: <a href="https://github.com/morluto/rea/blob/main/docs/flutter-
#. analysis.md" >
#. {ph1}: </a >
#. {ph2}: <a href="https://github.com/morluto/rea/blob/main/docs/javascript-
#. artifact-reconstruction.md" >
#. {ph3}: </a >
#. {ph4}: <a href="https://github.com/morluto/rea/blob/main/docs/evm-
#. bytecode.md" >
#. {ph5}: </a >
#. {ph6}: <a href="../guides/">
#. {ph7}: </a>
#: website/public/get-started/index.html:1535
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"{ph0}Flutter guide{ph1} · {ph2}Packages and resources{ph3} · {ph4}EVM "
"bytecode{ph5} · {ph6}All investigation guides{ph7}"
msgstr ""
"{ph0}Guida Flutter{ph1} · {ph2}Pacchetti e risorse{ph3} · {ph4}Bytecode "
"EVM{ph5} · {ph6}Tutte le guide di analisi{ph7}"

#: website/public/get-started/index.html:1555
msgctxt "page:get-started/index.html"
msgid "Use REA from a terminal"
msgstr "Usa REA dal terminale"

#: website/public/get-started/index.html:1557
msgctxt "page:get-started/index.html"
msgid "CLI commands, global installation and curl"
msgstr "Comandi CLI, installazione globale e curl"

#. {ph0}: <code>main</code>
#: website/public/get-started/index.html:1654
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Replace {ph0} with a function name or address from the target's function "
"list. Ghidra must be configured first."
msgstr ""
"Sostituisci {ph0} con il nome o l'indirizzo di una funzione dall'elenco "
"delle funzioni del target. Ghidra deve essere già configurato."

#: website/public/get-started/index.html:1658
msgctxt "page:get-started/index.html"
msgid ""
"On macOS or Linux, you can also use the curl installer after preparing "
"Node.js:"
msgstr ""
"Su macOS o Linux puoi anche usare il programma di installazione curl dopo "
"aver preparato Node.js:"

#: website/public/get-started/index.html:1696
msgctxt "page:get-started/index.html"
msgid ""
"Use the client check in step 3 with your setup ID. In editor clients, enable"
" REA in MCP settings and allow its tools in the agent chat."
msgstr ""
"Usa il controllo dell'applicazione al passaggio 3 con il tuo ID di "
"configurazione. Negli editor, abilita REA nelle impostazioni MCP e consenti "
"i suoi strumenti nella chat dell'agente."

#: website/public/get-started/index.html:1724
msgctxt "page:get-started/index.html"
msgid "Windows, WSL and paths with spaces"
msgstr "Windows, WSL e percorsi con spazi"

#: website/public/get-started/index.html:1725
msgctxt "page:get-started/index.html"
msgid ""
"Use Windows PowerShell for Windows clients and analysis tools. If your agent"
" runs inside WSL, install Node.js and REA inside that Linux environment and "
"use Linux paths there. Headless providers run on the same host as REA."
msgstr ""
"Usa Windows PowerShell per le applicazioni e gli strumenti di analisi "
"Windows. Se l'agente viene eseguito in WSL, installa Node.js e REA in "
"quell'ambiente Linux e usa lì i percorsi Linux. I provider senza interfaccia"
" grafica vengono eseguiti sullo stesso host di REA."

#: website/public/get-started/index.html:1734
msgctxt "page:get-started/index.html"
msgid "Windows setup command:"
msgstr "Comando di configurazione per Windows:"

#: website/public/get-started/index.html:1751
msgctxt "page:get-started/index.html"
msgid "Update or remove REA"
msgstr "Aggiorna o rimuovi REA"

#: website/public/get-started/index.html:1752
msgctxt "page:get-started/index.html"
msgid ""
"To refresh your agent connection, run the latest setup command again, review"
" its plan and restart your client."
msgstr ""
"Per aggiornare la connessione dell'agente, esegui di nuovo il comando di "
"configurazione della versione più recente, controlla il piano e riavvia "
"l'applicazione."

#. {ph0}: <code>rea update</code>
#. {ph1}: <code>npx rea-agents@latest uninstall</code>
#: website/public/get-started/index.html:1770
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"If you installed the global CLI, update it with {ph0}. Use {ph1} to remove "
"REA's client configuration and skill."
msgstr ""
"Se hai installato la CLI globale, aggiornala con {ph0}. Usa {ph1} per "
"rimuovere la configurazione delle applicazioni e la skill di REA."

#. {ph0}: <a
#. href="https://github.com/morluto/rea/blob/main/docs/installation.md#diagnose-
#. update-and-remove" >
#. {ph1}: </a >
#: website/public/get-started/index.html:1776
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Update and uninstall details{ph1}"
msgstr "{ph0}Dettagli di aggiornamento e disinstallazione{ph1}"

#: website/public/get-started/index.html:322
msgctxt "page:get-started/index.html"
msgid "Copy Windows REA setup command"
msgstr "Copia il comando di configurazione REA per Windows"

#: website/public/get-started/index.html:419
#: website/public/get-started/index.html:450
#: website/public/get-started/index.html:464
#: website/public/get-started/index.html:482
#: website/public/get-started/index.html:534
#: website/public/get-started/index.html:548
#: website/public/get-started/index.html:580
#: website/public/get-started/index.html:609
#: website/public/get-started/index.html:744
#: website/public/get-started/index.html:799
#: website/public/get-started/index.html:814
#: website/public/get-started/index.html:862
#: website/public/get-started/index.html:1047
#: website/public/get-started/index.html:1109
#: website/public/get-started/index.html:1132
#: website/public/get-started/index.html:1156
#: website/public/get-started/index.html:1204
#: website/public/get-started/index.html:1279
#: website/public/get-started/index.html:1305
#: website/public/get-started/index.html:1322
#: website/public/get-started/index.html:1643
#: website/public/get-started/index.html:1665
#: website/public/get-started/index.html:1738
#: website/public/get-started/index.html:1759
msgctxt "page:get-started/index.html"
msgid "Copy command"
msgstr "Copia il comando"

#: website/public/get-started/index.html:895
msgctxt "page:get-started/index.html"
msgid "Copy Notes investigation prompt"
msgstr "Copia note richiesta di indagine"

#. {ph0}: <code>sudo apt install curl unzip</code>
#: website/public/get-started/index.html:362
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Install curl and unzip first if they are missing. On Debian or Ubuntu, run "
"{ph0}; on other distributions, use your package manager."
msgstr ""
"Installa prima curl e unzip se mancano. Su Debian o Ubuntu, esegui {ph0}; su"
" altre distribuzioni, usa il gestore di pacchetti."

#: website/public/get-started/index.html:381
msgctxt "page:get-started/index.html"
msgid "Close the terminal, open it again, then:"
msgstr "Chiudi il terminale, riaprilo, poi:"

#: website/public/get-started/index.html:511
msgctxt "page:get-started/index.html"
msgid ""
"Open its AI chat and choose Agent mode. In Windsurf or Devin Desktop, open "
"the agent chat; in VS Code, set up GitHub Copilot first."
msgstr ""
"Apri la chat IA e scegli la modalità Agent. In Windsurf o Devin Desktop, "
"apri la chat dell'agente; in VS Code, configura prima GitHub Copilot."

#. {ph0}: <a href="https://cursor.com/docs">
#. {ph1}: </a>
#. {ph2}: <a href="https://docs.windsurf.com/windsurf/getting-started" >
#. {ph3}: </a >
#. {ph4}: <a href="https://code.visualstudio.com/docs/setup/copilot" >
#. {ph5}: </a >
#: website/public/get-started/index.html:517
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"{ph0}Cursor setup{ph1} · {ph2}Windsurf / Devin Desktop setup{ph3} · {ph4}VS "
"Code and Copilot setup{ph5}"
msgstr ""
"{ph0}Configurazione di Cursor{ph1} · {ph2}Configurazione di Windsurf / Devin"
" Desktop{ph3} · {ph4}Configurazione di VS Code e Copilot{ph5}"

#: website/public/get-started/index.html:605
msgctxt "page:get-started/index.html"
msgid "OpenCode · choose an AI model"
msgstr "OpenCode · scegli un modello IA"

#: website/public/get-started/index.html:1263
msgctxt "page:get-started/index.html"
msgid "Prepare the IDA registration file"
msgstr "Prepara il file di registrazione IDA"

#. {ph0}: <code>ida-mcp.json</code>
#. {ph1}: <code>.txt</code>
#: website/public/get-started/index.html:1264
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Install and configure the upstream server using the IDA guide below. Then "
"save its working registration as {ph0} in a text editor. On Windows, choose "
"“All files” when saving in Notepad so it doesn't add {ph1}."
msgstr ""
"Installa e configura il server upstream usando la guida IDA qui sotto. Poi "
"salva la registrazione funzionante come {ph0} in un editor di testo. Su "
"Windows, scegli “All files” quando salvi in Notepad, così non aggiunge "
"{ph1}."

#. {ph0}: <code>idb_open</code>
#. {ph1}: <code>idb_list</code>
#. {ph2}: <code>idb_close</code>
#: website/public/get-started/index.html:1271
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"For a headless supervisor providing {ph0}, {ph1} and {ph2}, the file can "
"look like this:"
msgstr ""
"Per un supervisore senza interfaccia grafica che offre {ph0}, {ph1} e {ph2},"
" il file può avere questo aspetto:"

#. {ph0}: <code>command</code>
#. {ph1}: <code>args</code>
#. {ph2}: <code>env</code>
#: website/public/get-started/index.html:1294
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"For an attached legacy 1.4.0 GUI server, copy its working {ph0}, {ph1} and "
"optional {ph2} into the file. Open the original binary in IDA and start its "
"upstream plugin before asking REA to inspect it."
msgstr ""
"Per un server GUI legacy 1.4.0 collegato, copia nel file i valori "
"funzionanti di {ph0}, {ph1} e l'eventuale {ph2}. Apri il binario originale "
"in IDA e avvia il suo plugin upstream prima di chiedere a REA di "
"analizzarlo."

#: website/public/get-started/index.html:1463
msgctxt "page:get-started/index.html"
msgid "SQLite database"
msgstr "Database SQLite"

#: website/public/get-started/index.html:1473
msgctxt "page:get-started/index.html"
msgid "EVM bytecode"
msgstr "Bytecode EVM"

#: website/public/get-started/index.html:446
msgctxt "page:get-started/index.html"
msgid "Install Codex using the command for your operating system:"
msgstr "Installa Codex con il comando per il tuo sistema operativo:"

#: website/public/get-started/index.html:475
msgctxt "page:get-started/index.html"
msgid ""
"After installation, reopen your terminal and return to the working folder. "
"Then start Codex:"
msgstr ""
"Dopo l'installazione, riapri il terminale e torna nella cartella di lavoro. "
"Poi avvia Codex:"

#. {ph0}: <a href="https://nodejs.org/en/download" >
#. {ph1}: </a >
#: website/public/get-started/index.html:336
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"For a first installation, download the {ph0}Node.js 24 LTS macOS installer "
"(.pkg){ph1}, open it and follow the installer. Then reopen Terminal."
msgstr ""
"Per la prima installazione, scarica il {ph0}programma di installazione di "
"Node.js 24 LTS per macOS (.pkg){ph1}, aprilo e segui le istruzioni. Poi "
"riapri Terminal."

#: website/public/get-started/index.html:343
msgctxt "page:get-started/index.html"
msgid "Already use Homebrew?"
msgstr "Usi già Homebrew?"

#: website/public/get-started/index.html:572
msgctxt "page:get-started/index.html"
msgid ""
"Install Claude Desktop on Windows or macOS and sign in. Quit it completely, "
"then run this command in a terminal you opened outside Claude:"
msgstr ""
"Installa Claude Desktop su Windows o macOS e accedi. Chiudilo completamente,"
" poi esegui questo comando in un terminale aperto al di fuori di Claude:"

#. {ph0}: <a href="#check-connection">
#. {ph1}: </a>
#: website/public/get-started/index.html:591
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Review and approve the plan, reopen Claude, then {ph0}check the connection "
"in step 3{ph1}."
msgstr ""
"Controlla e approva il piano, riapri Claude, poi {ph0}verifica la "
"connessione al passaggio 3{ph1}."

#: website/public/get-started/index.html:1168
msgctxt "page:get-started/index.html"
msgid ""
"Replace both paths with your existing installations. For a fresh macOS or "
"Linux arm64 installation, build the native decompiler for your computer "
"before continuing."
msgstr ""
"Sostituisci entrambi i percorsi con quelli delle installazioni esistenti. "
"Per una nuova installazione su macOS o Linux arm64, compila il decompilatore"
" nativo per il tuo computer prima di continuare."

#: website/public/get-started/index.html:1174
msgctxt "page:get-started/index.html"
msgid "Build Ghidra's native decompiler"
msgstr "Compila il decompilatore nativo di Ghidra"

#: website/public/get-started/index.html:1175
msgctxt "page:get-started/index.html"
msgid ""
"On macOS, the build needs Xcode Command Line Tools, make and bison. Use the "
"guide for your computer:"
msgstr ""
"Su macOS, la compilazione richiede Xcode Command Line Tools, make e bison. "
"Usa la guida per il tuo computer:"

#. {ph0}: <a
#. href="https://github.com/morluto/rea/blob/main/docs/installation.md#missing-
#. macos-native-decompiler" >
#. {ph1}: </a >
#: website/public/get-started/index.html:1180
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}macOS · Intel{ph1}"
msgstr "{ph0}macOS · Intel{ph1}"

#. {ph0}: <a
#. href="https://github.com/morluto/rea/blob/main/docs/installation.md#macos-
#. arm64-native-decompiler" >
#. {ph1}: </a >
#: website/public/get-started/index.html:1186
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}macOS · Apple Silicon{ph1}"
msgstr "{ph0}macOS · Apple Silicon{ph1}"

#. {ph0}: <a
#. href="https://github.com/NationalSecurityAgency/ghidra/blob/Ghidra_12.1.4_build/GhidraDocs/GettingStarted.md#building-
#. native-components" >
#. {ph1}: </a >
#: website/public/get-started/index.html:1192
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Linux arm64 · native build instructions{ph1}"
msgstr "{ph0}Linux arm64 · istruzioni di compilazione nativa{ph1}"

#: website/public/get-started/index.html:1200
msgctxt "page:get-started/index.html"
msgid "Then check Ghidra and save its paths for your client:"
msgstr "Poi controlla Ghidra e salva i suoi percorsi per l'applicazione:"

#. {ph0}: <span translate="no">200 + 10%</span>
#: website/public/index.html:351
#, python-brace-format
msgctxt "page:index.html"
msgid "Why does Calculator give 220 for {ph0}?"
msgstr "Perché {ph0} dà 220 nella Calcolatrice?"

#. {ph0}: <a href="#what-is-re">
#. {ph1}: </a>
#: website/public/index.html:214
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}How it works{ph1}"
msgstr "{ph0}Come funziona{ph1}"

#: website/public/index.html:230
msgctxt "page:index.html"
msgid ""
"Ask your coding agent about an app, a game or a website. REA gives it the "
"tools to inspect the code behind the answer."
msgstr ""
"Chiedi al tuo agente di programmazione qualcosa su un'app, un gioco o un "
"sito web. REA gli dà gli strumenti per esaminare il codice dietro la "
"risposta."

#: website/public/index.html:235
msgctxt "page:index.html"
msgid "Get started"
msgstr "Inizia"

#: website/public/index.html:236
msgctxt "page:index.html"
msgid "See an example ↓"
msgstr "Guarda un esempio ↓"

#: website/public/index.html:326
msgctxt "page:index.html"
msgid "How it works"
msgstr "Come funziona"

#: website/public/index.html:328
msgctxt "page:index.html"
msgid ""
"Reverse engineering means learning how software works by inspecting the "
"program itself. With REA, your agent can follow the code, explain a feature "
"and help you rebuild it."
msgstr ""
"Il reverse engineering significa capire come funziona un software esaminando"
" il programma stesso. Con REA, il tuo agente può seguire il codice, spiegare"
" una funzione e aiutarti a ricrearla."

#: website/public/index.html:335
msgctxt "page:index.html"
msgid "Ask about one feature"
msgstr "Chiedi di una funzione"

#: website/public/index.html:336
msgctxt "page:index.html"
msgid "Give your agent a program or page and a question."
msgstr "Dai al tuo agente un programma o una pagina e una domanda."

#: website/public/index.html:339
msgctxt "page:index.html"
msgid "Inspect the program"
msgstr "Esamina il programma"

#: website/public/index.html:340
msgctxt "page:index.html"
msgid "REA returns code, references and runtime observations."
msgstr ""
"REA restituisce codice, riferimenti e osservazioni durante l'esecuzione."

#: website/public/index.html:343
msgctxt "page:index.html"
msgid "Explain it, then try a change"
msgstr "Capisci, poi prova una modifica"

#: website/public/index.html:344
msgctxt "page:index.html"
msgid "Your agent uses the findings to explain or rebuild the feature."
msgstr "Il tuo agente usa i risultati per spiegare o ricreare la funzione."

#: website/public/index.html:360
msgctxt "page:index.html"
msgid "Follow the instructions step by step"
msgstr "Segui le istruzioni passo dopo passo"

#: website/public/index.html:511
msgctxt "page:index.html"
msgid "Ask your agent the same question"
msgstr "Fai la stessa domanda al tuo agente"

#: website/public/index.html:724
msgctxt "page:index.html"
msgid ""
"Start at 6. Add 0.001 each update without a collision, while speed is below "
"13."
msgstr ""
"Inizia alle 6. Aggiungere 0.001 ogni aggiornamento senza una collisione, "
"mentre la velocità è inferiore 13."

#: website/public/index.html:1029
msgctxt "page:index.html"
msgid ""
"Explore a feature in a released app or game, with code and checked results."
msgstr ""
"Esplora una funzione di un'app o gioco pubblicato, con codice e risultati "
"verificati."

#: website/public/index.html:1040
msgctxt "page:index.html"
msgid ""
"Trace Aegis's six-digit login code through its released APK, then move a "
"demo clock to see why it changes every 30 seconds."
msgstr ""
"Segui il codice di accesso a sei cifre di Aegis nel suo APK pubblicato, poi "
"sposta l'orologio della demo per vedere perché cambia ogni 30 secondi."

#: website/public/index.html:1051
msgctxt "page:index.html"
msgid ""
"Follow Notion's packaged JavaScript to the system clipboard and see how a "
"copy preserves rich block data."
msgstr ""
"Segui il JavaScript incluso in Notion fino agli appunti di sistema e scopri "
"come una copia conserva i dati ricchi dei blocchi."

#: website/public/index.html:1062
msgctxt "page:index.html"
msgid ""
"Recover how a ball's position becomes left/right sound in a 1996 Windows "
"game."
msgstr ""
"Ricostruisci come la posizione di una palla diventa suono a sinistra o a "
"destra in un gioco Windows del 1996."

#: website/public/index.html:1093
msgctxt "page:index.html"
msgid "Choose your target."
msgstr "Scegli il tuo obiettivo."

#: website/public/index.html:1094
msgctxt "page:index.html"
msgid ""
"These guides cover setup and a first investigation for each kind of "
"software."
msgstr ""
"Queste guide spiegano la configurazione e una prima indagine per ogni tipo "
"di software."

#. {ph0}: <a href="#calculator">
#. {ph1}: </a>
#: website/public/index.html:566
#, 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 ""
"Assembly selezionato dalla DLL Calcolatrice installata. I pensieri e le "
"risposte illustrano i risultati. {ph0}Continuare con l'esempio Calcolatrice "
"↓{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:1131
#, 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}Esempio prompt * Sito web"

#: website/public/index.html:1154
msgctxt "page:index.html"
msgid "Yes, this one."
msgstr "Sì, questa."

#. {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:1159
#, 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}Esempio prompt * Ricostruzione del "
"gioco"

#. {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:1173
#, 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}Usa REA per ricostruire questo gioco dal suo eseguibile. "
"Recuperare la logica di gioco in C e testarlo contro "
"l'originale.{ph3}{ph4}{ph5}"

#. {ph0}: <a href="showcase/dx-ball/">
#. {ph1}: </a>
#: website/public/index.html:1182
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}See the DX-Ball case study →{ph1}"
msgstr "{ph0}Vedere il caso di studio DX-Ball →{ph1}"

#: website/public/index.html:1136
msgctxt "page:index.html"
msgid "Copy website project prompt"
msgstr "Copia il prompt del progetto del sito web"

#: website/public/index.html:1164
msgctxt "page:index.html"
msgid "Copy game reconstruction prompt"
msgstr "Copia gioco ricostruzione prompt"

#. {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:1145
#, 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}Utilizzare REA per ispezionare {ph3}. Clonare questo sito "
"per me.{ph4}{ph5}{ph6}"

#. {ph0}: <a href="showcase/">
#. {ph1}: </a>
#: website/public/index.html:239
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Showcases →{ph1} — investigations and interactive demos."
msgstr "{ph0}Casi studio →{ph1} — indagini e demo interattive."

#. {ph0}: <a href="blog/">
#. {ph1}: </a>
#: website/public/index.html:243
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Blog →{ph1} — methods and reconstruction notes."
msgstr "{ph0}Blog →{ph1} — metodi e appunti sulla ricostruzione."

#: website/public/index.html:350
msgctxt "page:index.html"
msgid "See the full Calculator investigation"
msgstr "Guarda l'indagine completa della Calcolatrice"

#: website/public/index.html:1126
msgctxt "page:index.html"
msgid "Try a larger project"
msgstr "Prova un progetto più grande"

#: website/public/index.html:578
msgctxt "page:index.html"
msgid ""
"Let’s try two examples: change a game’s speed, then rebuild Calculator’s % "
"button."
msgstr ""
"Proviamo due esempi: cambiare la velocità di un gioco e ricreare il pulsante"
" % della Calcolatrice."

#: website/public/index.html:586
msgctxt "page:index.html"
msgid ""
"The game gets faster as you run. To rebuild it with a speed control, we "
"first need to find out how the speed changes."
msgstr ""
"Il gioco accelera mentre corri. Per ricrearlo con un controllo della "
"velocità, dobbiamo prima capire come cambia la velocità."

#: website/public/index.html:592
msgctxt "page:index.html"
msgid "1. Ask about the speed"
msgstr "1. Chiedi della velocità"

#. {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:595
#, python-brace-format
msgctxt "page:index.html"
msgid ""
"{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Example question · Dinosaur game"
msgstr ""
"{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Domanda di esempio · Gioco del "
"dinosauro"

#: website/public/index.html:618
msgctxt "page:index.html"
msgid "2. Find the speed rule"
msgstr "2. Trova la regola della velocità"

#: website/public/index.html:619
msgctxt "page:index.html"
msgid ""
"REA lets the agent read the game’s running code. The speed starts at 6 and "
"increases a little each update while it is below 13."
msgstr ""
"REA permette all'agente di leggere il codice del gioco in esecuzione. La "
"velocità parte da 6 e aumenta un po' a ogni aggiornamento finché è inferiore"
" a 13."

#: website/public/index.html:626
msgctxt "page:index.html"
msgid "3. Play the result"
msgstr "3. Gioca con il risultato"

#: website/public/index.html:627
msgctxt "page:index.html"
msgid ""
"We rebuilt that rule in the mini-game below and added a speed slider. Press "
"Play, then choose your own speed."
msgstr ""
"Abbiamo ricreato questa regola nel minigioco qui sotto e aggiunto un cursore"
" della velocità. Avvia il gioco, poi scegli la tua velocità."

#: website/public/index.html:692
msgctxt "page:index.html"
msgid ""
"Enable JavaScript to play. You can still read the rule and open the source "
"code below."
msgstr ""
"Attiva JavaScript per giocare. Puoi comunque leggere la regola e aprire il "
"codice sorgente qui sotto."

#: website/public/index.html:810
msgctxt "page:index.html"
msgid ""
"The % button does different things after + and ×. Let’s find both rules and "
"try them in a small calculator."
msgstr ""
"Il pulsante % si comporta diversamente dopo + e ×. Troviamo entrambe le "
"regole e proviamole in una piccola calcolatrice."

#: website/public/index.html:816
msgctxt "page:index.html"
msgid "1. Ask about the % button"
msgstr "1. Chiedi del pulsante %"

#. {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:819
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Example question · Calculator"
msgstr ""
"{ph0}{ph1}{ph2}{ph3}{ph4}{ph5}{ph6}{ph7}Domanda di esempio · Calcolatrice"

#: website/public/index.html:842
msgctxt "page:index.html"
msgid "2. Find both rules"
msgstr "2. Trova entrambe le regole"

#: website/public/index.html:843
msgctxt "page:index.html"
msgid ""
"REA helps the agent read the code behind the % button. It applies two "
"different rules:"
msgstr ""
"REA aiuta l'agente a leggere il codice del pulsante %. Il codice applica due"
" regole diverse:"

#: website/public/index.html:864
msgctxt "page:index.html"
msgid "3. Try the % button"
msgstr "3. Prova il pulsante %"

#: website/public/index.html:865
msgctxt "page:index.html"
msgid "We recreated both rules below. Choose + or ×, press %, then press =."
msgstr ""
"Abbiamo ricreato entrambe le regole qui sotto. Scegli + o ×, premi %, poi =."

#. {ph0}: <a href="faq/">
#. {ph1}: </a>
#: website/public/index.html:1195
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Read the FAQ{ph1} — setup and common questions."
msgstr "{ph0}Leggi le FAQ{ph1} — configurazione e domande comuni."

#. {ph0}: <a href="https://discord.gg/GkcryMnJDM">
#. {ph1}: </a>
#: website/public/index.html:1198
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Join Discord{ph1} — get help and discuss your investigations."
msgstr ""
"{ph0}Unisciti a Discord{ph1} — ricevi aiuto e discuti le tue indagini."

#. {ph0}: <a href="https://github.com/morluto/rea/issues/new/choose" >
#. {ph1}: </a >
#: website/public/index.html:1202
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}GitHub issues{ph1} — report a bug or request a feature."
msgstr "{ph0}GitHub issues{ph1} — segnala un bug o richiedi una funzione."

#: website/public/index.html:296
msgctxt "page:index.html"
msgid "Setup for your platform:"
msgstr "Configurazione per la tua piattaforma:"

#. {ph0}: <a href="get-started/#curl-installation" >
#. {ph1}: <span translate="no">curl</span>
#. {ph2}: </a >
#: website/public/index.html:307
#, python-brace-format
msgctxt "page:index.html"
msgid "Other install options: {ph0}{ph1} →{ph2}"
msgstr "Altre opzioni di installazione: {ph0}{ph1} →{ph2}"

#. {ph0}: <code>rea setup</code>
#: website/public/get-started/index.html:1676
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Follow the setup prompts to connect your agent. If they don't appear, run "
"{ph0}."
msgstr ""
"Segui le indicazioni di configurazione per collegare il tuo agente. Se non "
"compaiono, esegui {ph0}."

#. {ph0}: <a
#. href="https://github.com/morluto/rea/blob/main/CONTRIBUTING.md#development-
#. setup" >
#. {ph1}: </a >
#. {ph2}: <code>6.4.0</code>
#: website/public/get-started/index.html:1247
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"The macOS headless profile and native GUI bridge require a {ph0}REA source "
"build{ph1} or a release containing those changes. npm {ph2} does not include"
" them."
msgstr ""
"Il profilo senza interfaccia di macOS e il bridge GUI nativo richiedono una "
"{ph0}compilazione di REA dai sorgenti{ph1} o una versione che includa queste"
" modifiche. npm {ph2} non le include."

#. {ph0}: <code>node scripts/rea.mjs doctor --provider ida --json</code>
#. {ph1}: <code>node scripts/rea.mjs setup</code>
#. {ph2}: <code>npx</code>
#: website/public/get-started/index.html:1256
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"From the built checkout, run {ph0} and {ph1} instead of the {ph2} commands "
"below."
msgstr ""
"Dalla directory dei sorgenti già compilati, esegui {ph0} e {ph1} al posto "
"dei comandi {ph2} qui sotto."

#. {ph0}: <code>rea</code>
#. {ph1}: <code>"$HOME/.local/bin/rea" setup</code>
#: website/public/get-started/index.html:1680
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"If your shell can't find {ph0}, use the executable path printed by the "
"installer. On Linux, the default setup command is {ph1}."
msgstr ""
"Se la shell non trova {ph0}, usa il percorso dell'eseguibile mostrato dal "
"programma di installazione. Su Linux, il comando di configurazione "
"predefinito è {ph1}."

#. {ph0}: <code>/absolute/path/to/program</code>
#: website/public/get-started/index.html:1353
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid ""
"Use REA with my configured provider to inspect {ph0}. List its functions and"
" strings, then explain the part that handles user input with references to "
"the code."
msgstr ""
"Usa REA con il provider che ho configurato per analizzare {ph0}. Elenca le "
"funzioni e le stringhe, poi spiega la parte che gestisce l'input dell'utente"
" con riferimenti al codice."

#: website/public/blog/index.html:122 website/public/blog/index.html:241
#: website/public/blog/reverse-engineering-models/index.html:122
#: website/public/blog/reverse-engineering-models/index.html:880
#: website/public/blog/touhou-reconstruction/index.html:122
#: website/public/blog/touhou-reconstruction/index.html:1077
#: website/public/contributors/index.html:123
#: website/public/contributors/index.html:1128
#: website/public/examples/dino-lab/index.html:123
#: website/public/examples/dino-lab/index.html:472
#: website/public/faq/index.html:122 website/public/faq/index.html:570
#: website/public/first-investigation/index.html:122
#: website/public/first-investigation/index.html:531
#: website/public/get-started/index.html:122
#: website/public/get-started/index.html:1814
#: website/public/guides/browser/index.html:122
#: website/public/guides/browser/index.html:504
#: website/public/guides/index.html:122 website/public/guides/index.html:279
#: website/public/guides/javascript/index.html:122
#: website/public/guides/javascript/index.html:500
#: website/public/guides/native/index.html:122
#: website/public/guides/native/index.html:506 website/public/index.html:124
#: website/public/index.html:1219 website/public/showcase/aegis/index.html:123
#: website/public/showcase/aegis/index.html:805
#: website/public/showcase/ctf/index.html:122
#: website/public/showcase/ctf/index.html:774
#: website/public/showcase/dx-ball/index.html:122
#: website/public/showcase/dx-ball/index.html:782
#: website/public/showcase/index.html:122
#: website/public/showcase/index.html:314
#: website/public/showcase/notion/index.html:122
#: website/public/showcase/notion/index.html:628
#: website/public/showcase/th04/index.html:122
#: website/public/showcase/th04/index.html:797
msgctxt "shared"
msgid "Contributors"
msgstr "Collaboratori"

#: website/public/contributors/index.html:108
msgctxt "page:contributors/index.html"
msgid "Skip to content"
msgstr "Vai al contenuto"

#. {ph0}: <a href="../">
#. {ph1}: </a>
#: website/public/contributors/index.html:200
#, python-brace-format
msgctxt "page:contributors/index.html"
msgid "{ph0}Home{ph1} / Contributors"
msgstr "{ph0}Home{ph1} / Collaboratori"

#: website/public/contributors/index.html:201
msgctxt "page:contributors/index.html"
msgid "Built together."
msgstr "Lo costruiamo insieme."

#: website/public/contributors/index.html:202
msgctxt "page:contributors/index.html"
msgid "Thank you to everyone who helps make REA better."
msgstr "Grazie a tutte le persone che aiutano a migliorare REA."

#: website/public/contributors/index.html:203
msgctxt "page:contributors/index.html"
msgid ""
"Code, documentation, tests, translations and ideas — there are many ways to "
"contribute."
msgstr ""
"Codice, documentazione, test, traduzioni e idee: ci sono molti modi per "
"contribuire."

#: website/public/contributors/index.html:208
msgctxt "page:contributors/index.html"
msgid "How to contribute"
msgstr "Come contribuire"

#: website/public/contributors/index.html:213
msgctxt "page:contributors/index.html"
msgid "Join the conversation →"
msgstr "Partecipa alla conversazione →"

#: website/public/contributors/index.html:223
msgctxt "page:contributors/index.html"
msgid "Contributors"
msgstr "Collaboratori"

#: website/public/contributors/index.html:225
msgctxt "page:contributors/index.html"
msgid "Find a contributor"
msgstr "Trova un collaboratore"

#. {ph0}: <a href="https://github.com/morluto/rea/graphs/contributors">
#. {ph1}: </a>
#. {ph2}: <time datetime="2026-10-15" translate="no">2026-10-15</time>
#: website/public/contributors/index.html:1112
#, python-brace-format
msgctxt "page:contributors/index.html"
msgid "From {ph0}GitHub’s contributor list{ph1} · Updated {ph2}."
msgstr ""
"Dall’{ph0}elenco dei collaboratori su GitHub{ph1} · Aggiornato il {ph2}."

#: website/public/contributors/index.html:1117
msgctxt "page:contributors/index.html"
msgid "No matching contributors. Try another username."
msgstr "Nessun collaboratore trovato. Prova un altro nome utente."

#: website/public/contributors/index.html:6
msgctxt "page:contributors/index.html"
msgid "Contributors · REA"
msgstr "Collaboratori · REA"

#: website/public/contributors/index.html:7
msgctxt "page:contributors/index.html"
msgid ""
"Meet the people who contribute code, documentation, tests and ideas to REA."
msgstr ""
"Scopri chi contribuisce a REA con codice, documentazione, test e idee."

#: website/public/contributors/index.html:226
msgctxt "page:contributors/index.html"
msgid "GitHub username"
msgstr "Nome utente GitHub"

#: website/public/contributors/index.html:1137
msgctxt "page:contributors/index.html"
msgid "Back to top"
msgstr "Torna in alto"

#: website/public/assets/contributors.js:21
#, python-brace-format
msgctxt "runtime"
msgid "Contributors: {count}"
msgstr "Collaboratori: {count}"

#, python-brace-format
#~ msgctxt "runtime"
#~ msgid "{count} contributors"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid ""
#~ "Use REA with Ghidra to inspect {ph0}. List its functions and strings, then "
#~ "explain the part that handles user input with references to the code."
#~ msgstr ""
#~ "Usa REA con Ghidra per analizzare {ph0}. Elenca le funzioni e le stringhe, "
#~ "poi spiega la parte che gestisce l'input dell'utente con riferimenti al "
#~ "codice."

#~ msgctxt "page:index.html"
#~ msgid "Play the reconstruction"
#~ msgstr "Gioca alla ricostruzione"

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "Enable JavaScript to play the reconstruction. The code and explanation above"
#~ " remain readable."
#~ msgstr ""
#~ "Abilita JavaScript per riprodurre la ricostruzione. Il codice e la "
#~ "spiegazione di cui sopra rimangono leggibili."

#~ msgctxt "page:index.html"
#~ msgid "REA returned"
#~ msgstr "REA ha restituito"

#, 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}Esempio prompt * Gioco dinosauro"

#~ msgctxt "page:index.html"
#~ msgid "Try the calculation"
#~ msgstr "Prova il calcolo"

#, 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}Esempio prompt * Ricostruire il "
#~ "pulsante %"

#, 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}Leggi le FAQ{ph1}, {ph2}chatta con noi su Discord {ph3}, o {ph4}aprire "
#~ "un problema GitHub{ph5} per bug e richieste di funzionalità."

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "We inspected the game's speed rule, then rebuilt it with a slider. Play the "
#~ "result and choose your own pace."
#~ msgstr ""
#~ "Abbiamo esaminato la regola della velocità del gioco e l'abbiamo ricreata "
#~ "con un cursore. Gioca e scegli il tuo ritmo."

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "The running script contains the speed settings and update function. The "
#~ "agent uses them to recover the acceleration."
#~ msgstr ""
#~ "Lo script in esecuzione contiene le impostazioni della velocità e la "
#~ "funzione di aggiornamento. L'agente le usa per ricostruire l'accelerazione."

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "The % button behaves differently after + and ×. We inspected the installed "
#~ "app to recover both rules. Try them below."
#~ msgstr ""
#~ "Il pulsante % si comporta diversamente dopo + e ×. Abbiamo esaminato l'app "
#~ "installata per ricostruire entrambe le regole. Provale qui sotto."

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "One branch divides by 100. The other also multiplies by the first number. "
#~ "The agent uses both to recreate the % button."
#~ msgstr ""
#~ "Un ramo si divide per 100. L'altro si moltiplica anche per il primo numero. "
#~ "L'agente utilizza entrambi per ricreare il pulsante%."

#~ msgctxt "page:index.html"
#~ msgid "See a code-level example with Calculator"
#~ msgstr "Guarda un esempio di codice con la Calcolatrice"

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "Selected assembly from the installed Calculator DLL. The thoughts and reply "
#~ "illustrate the findings."
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}What is RE?{ph1}"
#~ msgstr "{ph0}Cos'è RE?{ph1}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}How REA helps{ph1}"
#~ msgstr "{ph0}Come aiuta REA{ph1}"

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "REA gives your agent the tools to inspect a program and explain what it "
#~ "does."
#~ msgstr ""
#~ "REA fornisce al tuo agente di programmazione gli strumenti per esaminare un "
#~ "programma e spiegarne il funzionamento."

#~ msgctxt "page:index.html"
#~ msgid "What is reverse engineering?"
#~ msgstr "Che cos’è il reverse engineering?"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid ""
#~ "Finding out how software works by {ph0}examining the program itself.{ph1}"
#~ msgstr ""
#~ "Capire come funziona un software {ph0}esaminando il programma stesso.{ph1}"

#, 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 ""
#~ "L'obiettivo: capire una caratteristica abbastanza bene per "
#~ "{ph0}spiegalo{ph1}, {ph2}cambialo{ph3} o {ph4}ricostruiscilo.{ph5}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "With REA · You ask {ph0}your agent{ph1}"
#~ msgstr "Con REA · Chiedi al {ph0}tuo agente{ph1}"

#~ msgctxt "page:index.html"
#~ msgid "One prompt."
#~ msgstr "Un solo prompt."

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Ask your agent {ph0}in plain English.{ph1}"
#~ msgstr "Fai una domanda al tuo agente {ph0}con parole semplici.{ph1}"

#, 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}Proviamo due esempi.{ph1} Modificare la velocità di un gioco, quindi "
#~ "tornare a Calcolatrice e ricostruire il suo pulsante%."

#~ msgctxt "page:index.html"
#~ msgid "Goal"
#~ msgstr "Obiettivo"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Rebuild the game with {ph0}adjustable speed.{ph1}"
#~ msgstr "Ricostruisci il gioco con {ph0}velocità regolabile.{ph1}"

#~ msgctxt "page:index.html"
#~ msgid "Why reverse engineer it?"
#~ msgstr "Perché il reverse engineering?"

#, 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 ""
#~ "Per riprodurre la sua accelerazione, abbiamo bisogno di {ph0}la regola nel "
#~ "gioco in esecuzione{ph1}: quanto velocemente inizia, quanto aumenta e quando"
#~ " si ferma."

#, 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}Lo script effettivamente in esecuzione nella pagina.{ph1} L'agente "
#~ "legge la sua funzione di aggiornamento e le impostazioni di velocità, quindi"
#~ " utilizza tale regola in un nuovo gioco."

#, 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}Inizia alle 6.{ph1} Aggiungere {ph2}0.001{ph3} ogni aggiornamento senza"
#~ " una collisione, mentre la velocità è inferiore {ph4}13{ph5}."

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid ""
#~ "Build a small calculator that handles {ph0}both + and × correctly.{ph1}"
#~ msgstr ""
#~ "Costruire una piccola calcolatrice che gestisce {ph0}sia + che × "
#~ "correttamente.{ph1}"

#, 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 ""
#~ "Lo stesso pulsante utilizza {ph0}regole diverse dopo + e ×.{ph1} "
#~ "Controlliamo l'app installata per trovare a quale numero viene applicata la "
#~ "percentuale."

#, 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}Un ramo si divide per 100. L'altro si moltiplica anche per il primo "
#~ "numero.{ph1} L'agente utilizza entrambi per ricreare il pulsante%."

#~ msgctxt "page:index.html"
#~ msgid "Want to go deeper?"
#~ msgstr "Vuoi approfondire?"

#, 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 ""
#~ "Dì al tuo agente cosa vuoi capire o costruire. Con REA, è possibile lavorare"
#~ " insieme su qualsiasi cosa, da {ph0}clonazione di questo sito web{ph1} per "
#~ "{ph2}ricostruire un gioco dal suo eseguibile.{ph3}"

#~ msgctxt "page:index.html"
#~ msgid "For setup and analysis steps, choose your target:"
#~ msgstr "Per le fasi di configurazione e analisi, scegli il tuo target:"

#~ msgctxt "page:index.html"
#~ msgid "Join the community"
#~ msgstr "Unisciti alla community"

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "Share investigations and get help from other REA users on Discord. Follow "
#~ "REA on X for project updates."
#~ msgstr ""
#~ "Condividi le indagini e ottenere aiuto da altri utenti REA su Discord . "
#~ "Seguire REA su X per gli aggiornamenti del progetto."

#~ msgctxt "page:index.html"
#~ msgid "See how REA works ↓"
#~ msgstr "Guarda come funziona REA ↓"

#~ msgctxt "page:index.html"
#~ msgid "Follow @reatools on X"
#~ msgstr "Segui @reatools su X"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "One question: {ph0}why does Calculator give 220 for {ph1}?{ph2}"
#~ msgstr ""
#~ "Per esempio: {ph0}perché la calcolatrice restituisce 220 per {ph1}?{ph2}"

#, 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 ""
#~ "Abbiamo visto perché {ph0}{ph1} dà 220.{ph2} Ora recuperiamo le regole per +"
#~ " e × e provale."

# Use the same label as the Get started navigation link. The arrow is
# decorative.
#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Get started {ph0}"
#~ msgstr "Inizia {ph0}"

#~ msgctxt "page:index.html"
#~ msgid "One question:"
#~ msgstr "Una domanda:"

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "Android, games, Electron and a CTF challenge, with code, figures and checked"
#~ " results."
#~ msgstr ""
#~ "Android, giochi, Electron e una sfida CTF, con codice, figure e risultati "
#~ "controllati."

#~ msgctxt "page: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 ""
#~ "Trova il calcolo del codice a sei cifre di Aegis nel suo APK rilasciato . "
#~ "Traccia i metodi di generazione con REA, quindi sposta un orologio demo per "
#~ "vedere perché il codice cambia ogni 30 secondi."

#~ msgctxt "page: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 ""
#~ "Traccia un'API rivolta alla pagina attraverso JavaScript confezionato di "
#~ "Notion. Segui i suoi wrapper IPC negli appunti di sistema, quindi guarda "
#~ "come un piccolo marcatore HTML mantiene i dati dei blocchi ricchi collegati "
#~ "a una copia."

#~ msgctxt "page: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 ""
#~ "Recuperare un calcolo di sinistra / destra posizione del suono da un 1996 "
#~ "Windows gioco.  Le istruzioni di REA, i riferimenti del chiamante e le "
#~ "costanti numeriche portano a una piccola funzione C, verificata rispetto al "
#~ "comportamento originale e a tutti i 63 byte compilati."

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Before REA · You investigate it {ph0}yourself{ph1}"
#~ msgstr "Prima di REA · Indaghi {ph0}da solo{ph1}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Use REA to inspect Windows Calculator. Why does {ph0} give 220?"
#~ msgstr "Utilizzare REA ispezionare Windows Calcolatore. Perché {ph0} dà 220?"

#~ 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 ""
#~ "Questo comando utilizza una shell con supporto here-document, come Bash o "
#~ "Zsh. Il tuo agente può eseguire lo stesso JavaScript nella shell della tua "
#~ "piattaforma."

#~ msgctxt "page:get-started/index.html"
#~ msgid "If you use Homebrew:"
#~ msgstr "Se si utilizza Homebrew :"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Otherwise:"
#~ msgstr "Altrimenti:"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Close Terminal, open it again, then:"
#~ msgstr "Chiudere il terminale, aprirlo di nuovo, quindi:"

#~ 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 ""
#~ "Sostituisci entrambi i percorsi con le installazioni esistenti. Setup li "
#~ "controlla e registra le impostazioni valide per il client selezionato. Su "
#~ "Linux arm64, potrebbe essere necessario compilare separatamente il "
#~ "decompilatore nativo di Ghidra."

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy fnm installation command for macOS"
#~ msgstr "Copia il comando di installazione fnm per macOS"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy Node.js 24 commands for macOS"
#~ msgstr "Copia i comandi Node.js 24 per macOS"

#, python-brace-format
#~ msgctxt "page:first-investigation/index.html"
#~ msgid "{ph0} · CSV formatter"
#~ msgstr "{ph0} · CSV formatter"

#~ msgctxt "page:get-started/index.html"
#~ msgid ""
#~ "For a first installation, download the Node.js 24 LTS macOS installer "
#~ "(.pkg), open it and follow the installer. Then reopen Terminal."
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid ""
#~ "Install Claude Desktop on Windows or macOS and sign in. Quit it completely "
#~ "before running REA setup in your terminal. Choose {ph0}, approve the plan, "
#~ "then reopen Claude and start a chat."
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "In the terminal you prepared above, install Codex:"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Then start it:"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid ""
#~ "Open its AI chat and choose Agent mode. In Windsurf, open Cascade; in VS "
#~ "Code, set up GitHub Copilot first."
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid ""
#~ "{ph0}Cursor setup{ph1} · {ph2}Windsurf setup{ph3} · {ph4}VS Code and Copilot"
#~ " setup{ph5}"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "OpenCode · choose a model provider"
#~ msgstr ""

#, 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 ""
#~ "L'installatore ha bisogno {ph0} e {ph1} (su Debian / Ubuntu: {ph2}). "
#~ "Chiudere il terminale, aprirlo di nuovo, quindi:"

#~ msgctxt "page:get-started/index.html"
#~ msgid ""
#~ "Connect REA to your coding agent, or inspect a local app from your terminal."
#~ msgstr ""
#~ "Connetti REA al tuo agente di codifica o ispeziona un'app locale dal tuo "
#~ "terminale."

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid "{ph0}Windows (PowerShell){ph1}"
#~ msgstr "{ph0} Windows (PowerShell){ph1}"

#, 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 ""
#~ "Se PowerShell in seguito dice {ph0}\"l'esecuzione di script è disabilitata "
#~ "su questo sistema\"{ph1} quando corri {ph2}, esegua questo una volta e "
#~ "riprova:"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Setup options"
#~ msgstr "Opzioni di configurazione"

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid "{ph0}Connect your coding agent{ph1}"
#~ msgstr "{ph0}Connetti il tuo agente di codifica{ph1}"

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid "{ph0}Set up native analysis{ph1}"
#~ msgstr "{ph0}Impostare l'analisi dei programmi di codice macchina{ph1}"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Connect your coding agent"
#~ msgstr "Connetti il tuo agente di codifica"

#~ 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 ""
#~ "Esegui setup per connettere REA al tuo agente di codifica. Le scelte del "
#~ "client includono Claude Code, Codex , Cursor , Gemini CLI , Windsurf , Grok "
#~ "Build e altri client MCP supportati. Il connettore di Grok Bot viene "
#~ "aggiunto dalla sua chat."

#~ msgctxt "page:get-started/index.html"
#~ msgid "New to coding agents?"
#~ msgstr "Nuovi agenti di codifica?"

#~ 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 ""
#~ "Un agente di codifica è un assistente AI che funziona sul computer anziché "
#~ "in una scheda del browser. Può leggere file ed eseguire comandi e chiede "
#~ "prima di apportare modifiche.  REA fornisce strumenti di reverse engineering"
#~ " it."

#~ msgctxt "page:get-started/index.html"
#~ msgid ""
#~ "If you don't have one yet, pick one, follow its install page and sign in:"
#~ msgstr ""
#~ "Se non ne hai ancora uno, scegli uno, segui la sua pagina di installazione e"
#~ " accedi:"

#, 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} di Anthropic . Ha bisogno di un piano "
#~ "Claude pagato."

#, 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} di OpenAI . Accedi con il tuo account ChatGPT."

#, 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}, fonte aperta. Connetti il fornitore di "
#~ "modelli di tua scelta."

#~ 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 ""
#~ "Quindi aprilo e copia il prompt qui sotto. L'agente esegue la configurazione"
#~ " di REA e ti mostra il piano prima di cambiare qualsiasi cosa."

#~ msgctxt "page:get-started/index.html"
#~ msgid "Restart your client when setup finishes."
#~ msgstr "Riavvia il client al termine dell'installazione."

#~ 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 ""
#~ "Dai al tuo agente un percorso di destinazione e una domanda specifica. Per "
#~ "un'app JavaScript o Electron, potresti iniziare con:"

#, 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 ""
#~ "Guarda {ph0} e scopri come esporta i dati. Mostra i punti di ingresso, le "
#~ "chiamate e le dipendenze coinvolte, con le posizioni di origine per i "
#~ "risultati."

#~ msgctxt "page:get-started/index.html"
#~ msgid "Replace the path with your local target."
#~ msgstr "Sostituisci il percorso con il tuo target locale."

#~ msgctxt "page:get-started/index.html"
#~ msgid "Use the CLI"
#~ msgstr "Utilizzare il CLI"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Set up native analysis"
#~ msgstr "Impostare l'analisi dei programmi di codice macchina"

#~ 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 ""
#~ "I programmi di codice macchina necessitano di uno strumento di analisi "
#~ "locale. Scegli e configura uno di seguito, quindi assegna a REA l'eseguibile"
#~ " o la libreria."

#~ msgctxt "page:get-started/index.html"
#~ msgid "Choose a tool: Ghidra, Hopper or IDA"
#~ msgstr "Scegli uno strumento: Ghidra, Hopper o IDA"

#~ 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 ""
#~ "Utilizzare un Ghidra 12.1 esistente.installazione x e un JDK 21 a 64 bit o "
#~ "più recente su Linux o macOS, su x64 o arm64. L'installazione di Ghidra "
#~ "richiede un decompiler nativo per l'architettura host. Impostare i percorsi "
#~ "prima di eseguire setup:"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Ghidra connection · macOS / Linux"
#~ msgstr "Collegamento di Ghidra · macOS / Linux"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Ghidra connection · Windows PowerShell"
#~ msgstr "Connessione Ghidra * PowerShell Windows"

#~ 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 ""
#~ "Su macOS, completa la scelta di prima esecuzione di Hopper della modalità "
#~ "demo o dell'attivazione della licenza prima di un'analisi automatica."

#~ 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 ""
#~ "Le configurazioni IDA verificate utilizzano Windows, con una registrazione "
#~ "MCP esistente per una GUI collegata o un database headless.  L'analisi senza"
#~ " testa Linux e macOS rimane non verificata."

#~ msgctxt "page:get-started/index.html"
#~ msgid "Connect an existing IDA MCP registration"
#~ msgstr "Collegare una registrazione IDA MCP esistente"

#, 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 ""
#~ "Mantenere il funzionamento del server upstream {ph0}, {ph1} e facoltativo "
#~ "{ph2} in un file JSON. Un esistente {ph3} oggetto con un {ph4} si accetta "
#~ "anche l'ingresso. Punta REA su quel file prima dell'installazione:"

#~ msgctxt "page:get-started/index.html"
#~ msgid "IDA connection · Windows PowerShell"
#~ msgstr "Connessione IDA * PowerShell Windows"

#, 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 ""
#~ "Il profilo allegato utilizza gli strumenti 1.4.0 legacy a monte con il "
#~ "binario originale già aperto in IDA . Il profilo headless utilizza l'API "
#~ "upstream database-supervisor e una registrazione con {ph0}; verifica reale "
#~ "copre un supervisore IDA 9.3 Windows x64. Il medico controlla la "
#~ "registrazione senza avviare IDA ."

#, 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 ""
#~ "Dare a REA il percorso eseguibile originale, con {ph0} in una query CLI. Per"
#~ " un agente, includere {ph1} nell'ambiente di registrazione REA e selezionare"
#~ " IDA quando si apre il binario."

#~ msgctxt "page:get-started/index.html"
#~ msgid "For an existing Ghidra setup, inspect a function with:"
#~ msgstr ""
#~ "Per una configurazione Ghidra esistente, ispezionare una funzione con:"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Function analysis"
#~ msgstr "Analisi delle funzioni"

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid "Replace {ph0} with the function name or address you want to inspect."
#~ msgstr ""
#~ "Sostituire {ph0} con il nome della funzione o l'indirizzo che si desidera "
#~ "ispezionare."

#~ msgctxt "page:get-started/index.html"
#~ msgid "How native analysis sessions work"
#~ msgstr ""
#~ "Come funzionano le sessioni di analisi dei programmi di codice macchina"

#~ 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 ""
#~ "Ogni comando CLI importa e analizza il binario, quindi chiude la sua "
#~ "sessione. Le query MCP dell'agente riutilizzano il binario importato mentre "
#~ "la sessione è aperta."

#, 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}Seguire un esempio di analisi dei programmi di codice macchina{ph1} per"
#~ " vedere come il risultato della funzione porta a un calcolo recuperato."

#~ msgctxt "page:get-started/index.html"
#~ msgid "Check one client"
#~ msgstr "Controlla un cliente"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy PowerShell execution policy command"
#~ msgstr "Copia il comando PowerShell execution policy"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy agent setup command"
#~ msgstr "Copy agent setup comando"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy Ghidra connection for macOS and Linux"
#~ msgstr "Copia il comando di connessione a Ghidra per macOS e Linux"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy Ghidra connection for Windows PowerShell"
#~ msgstr "Copia connessione Ghidra per PowerShell Windows"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy IDA connection for Windows PowerShell"
#~ msgstr "Copia connessione IDA per PowerShell Windows"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy native function analysis command"
#~ msgstr "Copia il comando di analisi delle funzioni native"

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy client diagnosis command"
#~ msgstr "Copia comando diagnosi client"

#~ msgctxt "page:index.html"
#~ msgid "Windows (PowerShell)"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}REA supplies"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}Your agent explains"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}Try the calculation"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Windows (PowerShell){ph0}"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid ""
#~ "{ph0}{ph1}REA supplies{ph2} {ph3}The handler’s instructions, decompiled code"
#~ " and calls.{ph4}"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}{ph1}Your agent explains{ph2} {ph3}10% of 200 = 20{ph4}"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}{ph1}Try the calculation{ph2} {ph3}200 + 20 = 220{ph4}"
#~ msgstr ""

#~ msgctxt "page:index.html"
#~ msgid "Windows (PowerShell) →"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Before REA · You investigate it {ph0}yourself{ph1} {ph2}{ph3}"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}Help & feedback{ph1}"
#~ msgstr "{ph0}Aiuto e feedback{ph1}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}Community{ph1}"
#~ msgstr "{ph0}Comunità{ph1}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Already know RE? {ph0}Skip to analysis guides →{ph1}"
#~ msgstr "Sai già RE? {ph0}Vai alle guide di analisi →{ph1}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Want to go deeper? {ph0}Read the Blog →{ph1}"
#~ msgstr "Vuoi andare più a fondo? {ph0}Leggi il Blog →{ph1}"

#~ msgctxt "page:blog/index.html"
#~ msgid "By N0zoM1z0 · 13 October 2026 · Draft for review"
#~ msgstr "Di N0zoM1z0 · 13 ottobre 2026 · Bozza da rivedere"

#~ msgctxt "page:index.html"
#~ msgid "Setup guide"
#~ msgstr "Guida all’installazione"

#~ 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 "Copia"

#~ 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 "Ricostruzione * dino-velocità.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 ""
#~ "Con Node.js e npm disponibile, esegui l'installazione, scegli il tuo agente "
#~ "di codifica e rivedi le modifiche proposte."

#~ msgctxt "page:first-investigation/index.html"
#~ msgid "A supplied example · Node.js and npm · Your coding agent"
#~ msgstr "Un esempio fornito · Node.js e npm * Il tuo agente di codifica"

#, 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 ""
#~ "Utilizzare un agente di codifica come Claude Code, Codex o Cursor. Avrai "
#~ "bisogno di Node.js e npm; il {ph0}guida all'installazione elenca le versioni"
#~ " supportate{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}Pagina * renderer.js{ph1}{ph2}Note di esportazione{ph3}{ph4}Chiamare "
#~ "{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}Ponte * precarico.js{ph1}{ph2}{ph3}{ph4}{ph5}Invia un messaggio "
#~ "denominato al processo principale.{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}Gestore * principale.js{ph1}{ph2}Scrivi note.csv{ph3}{ph4}Chiama il "
#~ "formatter in {ph5} e scrive il file.{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}Prevedere il CSV per una nota con id 1 e titolo Ciao, "
#~ "\"REA\". Quindi eseguire il formatter toCsv dell'esempio con Node.js per "
#~ "controllare. Mostra la previsione e l'output effettivo.{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 ""
#~ "Il titolo rimane in un campo quotato; ogni virgoletta è raddoppiata. Questo "
#~ "controlla il formattatore direttamente con 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 ""
#~ "Avrai bisogno di Node.js 22 (22.19+), 24 (24.11+) o 26+. npm viene fornito "
#~ "con Node.js."

#~ msgctxt "page:get-started/index.html"
#~ msgid "Don't have Node.js, or not sure?"
#~ msgstr "Non ho Node.js, o non sicuro?"

#, 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 ""
#~ "Se {ph0} stampa v22.19+, v24.11+ o v26+, sei pronto. Se stampa una versione "
#~ "precedente o\" non riconosciuto \" / \"comando non trovato\", installare "
#~ "Node.js 24 LT:"

#, 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}Apri l'esempio{ph1} · {ph2}Scarica esportazione.js{ph3} · {ph4}Scarica "
#~ "note.json{ph5}"

#, python-brace-format
#~ msgctxt "page:guides/javascript/index.html"
#~ msgid ""
#~ "Download the example and unzip it. The archive contains the complete {ph0} "
#~ "folder. Analyze it with Node.js and npm; Electron is not needed for this "
#~ "example."
#~ msgstr ""
#~ "Scarica l'esempio e decomprimilo. L'archivio contiene il completo {ph0} "
#~ "cartella. Analizzarlo con Node.js e npm; Electron non è necessario per "
#~ "questo esempio."

#, 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 ""
#~ "Prima volta, o mancante Node.js o un agente di codifica? {ph0}Seguire la "
#~ "guida di installazione passo-passo →{ph1}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "One question: {ph0}why does Calculator give 220 for 200 + 10%?{ph1}"
#~ msgstr ""
#~ "Per esempio: {ph0}perché la calcolatrice restituisce 220 per 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}Utilizzare REA ispezionare Windows Calcolatore. Perché 200 +"
#~ " 10% dà 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 ""
#~ "Abbiamo visto perché {ph0}200 + 10% dà 220.{ph1} Ora recuperiamo le regole "
#~ "per + e × e provale."

#, 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 legge calc.exe{ph1}{ph2}Lancia l'app Calcolatrice{ph3}{ph4}Il "
#~ "codice si apre {ph5}. L'agente seleziona quindi la libreria dell'app "
#~ "installata.{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}Utilizzare REA per ispezionare aegis-v3.4.3.apk. Scopri come"
#~ " genera il codice di accesso a sei cifre, spiega perché cambia ogni 30 "
#~ "secondi e ricostruisci una piccola demo in cui posso cambiare "
#~ "l'ora.{ph3}{ph4}{ph5}"

#~ msgctxt "page:showcase/notion/index.html"
#~ msgid "tab_browser_view/preload.js · API member"
#~ msgstr "tab_browser_view / precarico.js * Membro API"

#~ msgctxt "page:showcase/notion/index.html"
#~ msgid "tab_browser_view/preload.js · IPC helper"
#~ msgstr "tab_browser_view / precarico.js * IPC helper"

#~ msgctxt "page:showcase/notion/index.html"
#~ msgid "main/index.js · handler helper"
#~ msgstr "principale / indice.js * handler helper"

#~ msgctxt "page:showcase/notion/index.html"
#~ msgid "main/index.js · clipboard receiver"
#~ msgstr "principale / indice.js * ricevitore appunti"

#~ msgctxt "page:first-investigation/index.html"
#~ msgid "main.js · lines 8–12"
#~ msgstr "principale.js * linee 8-12"

#~ msgctxt "page:guides/browser/index.html"
#~ msgid "export.js · example source excerpt"
#~ msgstr "esportazione.js * esempio estratto di origine"

#~ msgctxt "page:guides/javascript/index.html"
#~ msgid "renderer.js · example source"
#~ msgstr "renderer.fonte di esempio js * "

#~ msgctxt "page:guides/javascript/index.html"
#~ msgid "preload.js · example source"
#~ msgstr "preload.fonte di esempio js * "

#~ msgctxt "page:guides/javascript/index.html"
#~ msgid "main.js · example source"
#~ msgstr "principale.fonte di esempio js * "

#~ msgctxt "page:index.html"
#~ msgid "REA · loaded index.js · selected lines"
#~ msgstr "REA * indice caricato.js * linee selezionate"

#, 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}Utilizzare REA per analizzare / absolute / path / to / app e"
#~ " spiegare come esporta i dati. Mostra il codice pertinente e le posizioni di"
#~ " origine.{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}Installare REA e collegarlo a questo agente di codifica "
#~ "utilizzando npx rea-agenti @ ultima configurazione. Mostrami il piano di "
#~ "installazione per l'approvazione, quindi verifica "
#~ "l'installazione.{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}Scaricare https://rea.tools/examples/notes-example.zip in "
#~ "una nuova cartella di esempio e decomprimerla. Utilizzare REA per scoprire "
#~ "cosa succede quando faccio clic su Esporta note. Mostra dove note.viene "
#~ "scritto csv, quali campi contiene e i file e le linee "
#~ "pertinenti.{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}Installare REA e collegarlo a questo agente di codifica "
#~ "utilizzando npx rea-agenti @ ultima configurazione. Mostrami il piano di "
#~ "installazione per l'approvazione, quindi verifica "
#~ "l'installazione.{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}Installare REA e collegarlo a questo agente di codifica "
#~ "utilizzando npx rea-agenti @ ultima configurazione. Mostrami il piano di "
#~ "installazione per l'approvazione, quindi verifica "
#~ "l'installazione.{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}Utilizzare REA ispezionare https://rea.tools/. Clonare "
#~ "questo sito per me.{ph3}{ph4}{ph5}"

#~ msgctxt "figure:ctf-mask-equation.svg"
#~ msgid "code[21] = 55"
#~ msgstr "codice[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 "× scala pan_pan"

#, python-brace-format
#~ msgctxt "shared"
#~ msgid "{ph0}REA{ph1}{ph2}Reverse Engineer Anything{ph3}"
#~ msgstr "{ph0}REA{ph1}{ph2}Reverse Engineering Qualsiasi cosa{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 ""
