#
msgid ""
msgstr ""
"Project-Id-Version: REA website\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: website/public/blog/index.html:107
msgctxt "page:blog/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#: 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 "Ξεκινήστε"

#: 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 "Μελέτες"

#: 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 "Ιστολόγιο"

#: 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 "Οδηγοί"

#. {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}Αρχική{ph1} / Ιστολόγιο"

#: website/public/blog/index.html:200
msgctxt "page:blog/index.html"
msgid "Blog."
msgstr "Ιστολόγιο."

#: website/public/blog/index.html:201
msgctxt "page:blog/index.html"
msgid "Thoughts on reverse engineering."
msgstr "Σκέψεις για την αντίστροφη μηχανική."

#. {ph0}: <br />
#: website/public/blog/index.html:205
#, python-brace-format
msgctxt "page:blog/index.html"
msgid "Model specialization{ph0}Essay"
msgstr "Εξειδίκευση μοντέλων{ph0}Δοκίμιο"

#: website/public/blog/index.html:207
msgctxt "page:blog/index.html"
msgid "Does reverse engineering need a bigger model?"
msgstr "Χρειάζεται η αντίστροφη μηχανική μεγαλύτερο μοντέλο;"

#: 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 ""
"Τι υποδηλώνει η ανακατασκευή του Touhou για τα γενικά μοντέλα, τα "
"εξειδικευμένα μοντέλα και τη μάθηση από την ανατροφοδότηση του "
"μεταγλωττιστή."

#: website/public/blog/index.html:212 website/public/blog/index.html:227
msgctxt "page:blog/index.html"
msgid "Read the article"
msgstr "Διαβάστε το άρθρο"

#: website/public/blog/index.html:215
msgctxt "page:blog/index.html"
msgid "By N0zoM1z0 · 13 October 2026"
msgstr "Του N0zoM1z0 · 13 Οκτωβρίου 2026"

#. {ph0}: <br />
#: website/public/blog/index.html:219
#, python-brace-format
msgctxt "page:blog/index.html"
msgid "Game reconstruction{ph0}Essay"
msgstr "Ανακατασκευή παιχνιδιών{ph0}Δοκίμιο"

#: website/public/blog/index.html:221
msgctxt "page:blog/index.html"
msgid "The industrial revolution in reverse engineering"
msgstr "Η βιομηχανική επανάσταση στην αντίστροφη μηχανική"

#: 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 ""
"Τι μου έμαθαν η χειροκίνητη αντίστροφη μηχανική και η ανακατασκευή των TH08,"
" TH095 και TH04 για τους βοηθούς προγραμματισμού, την επαλήθευση και τη "
"γνώση που συσσωρεύεται από έργο σε έργο."

#: website/public/blog/index.html:230
msgctxt "page:blog/index.html"
msgid "By N0zoM1z0 · 10 October 2026"
msgstr "Του N0zoM1z0 · 10 Οκτωβρίου 2026"

#: 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 "Πηγαίος κώδικας"

#: 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 "Άδεια 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 "Ελάτε στην κοινότητα"

#: 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 "Ακολουθήστε μας στο X"

#. {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} Κορυφή"

#: website/public/blog/index.html:6
msgctxt "page:blog/index.html"
msgid "REA Blog — Thoughts on Reverse Engineering"
msgstr "Ιστολόγιο REA — Σκέψεις για την αντίστροφη μηχανική"

#: website/public/blog/index.html:7
msgctxt "page:blog/index.html"
msgid ""
"Thoughts on reverse engineering, drawing on practical experience with REA "
"and AI agents."
msgstr ""
"Σκέψεις για την αντίστροφη μηχανική, βασισμένες στην πρακτική εμπειρία με το"
" REA και βοηθούς τεχνητής νοημοσύνης."

#: website/public/blog/index.html: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 — Μάθετε πώς λειτουργεί το λογισμικό. Αντίστροφη μηχανική με τον βοηθό "
"προγραμματισμού σας."

#: 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 "Αρχική σελίδα του 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 "Κύρια πλοήγηση"

#: 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 στο 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 "Μπείτε στην κοινότητα του REA στο 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 "Ακολουθήστε το REA στο X"

#: website/public/blog/index.html:250
msgctxt "page:blog/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/blog/reverse-engineering-models/index.html:107
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/blog/reverse-engineering-models/index.html:199
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Home{ph1} / {ph2}Blog{ph3} / Models and RE"
msgstr ""
"{ph0}Αρχική{ph1} / {ph2}Ιστολόγιο{ph3} / Μοντέλα και αντίστροφη μηχανική"

#: website/public/blog/reverse-engineering-models/index.html:202
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Essay"
msgstr "Δοκίμιο"

#: 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 "Χρειάζεται η αντίστροφη μηχανική μεγαλύτερο μοντέλο;"

#: website/public/blog/reverse-engineering-models/index.html:204
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "By N0zoM1z0 · 13 October 2026"
msgstr "Του N0zoM1z0 · 13 Οκτωβρίου 2026"

#: website/public/blog/reverse-engineering-models/index.html:206
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Takeaway"
msgstr "Βασικά συμπεράσματα"

#. {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}Οι δυνατότητες του μοντέλου αλλάζουν τις υποθέσεις που μπορεί να βρει "
"ένας βοηθός.{ph1} Μεταγενέστερες συνεδρίες έχουν λύσει προβλήματα που η "
"προηγούμενη εργασία είχε αφήσει άλυτα."

#. {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}Ένας γνώριμος μεταγλωττιστής δίνει στην εξειδίκευση κάτι συγκεκριμένο "
"να μάθει.{ph1} Ορισμένες ακριβείς ταυτίσεις εξαρτώνται από περιορισμένα, "
"επαναχρησιμοποιήσιμα μοτίβα πηγαίου κώδικα."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/reverse-engineering-models/index.html:223
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"{ph0}Give repository knowledge a fair comparison.{ph1} A smaller model with "
"good retrieval may already know enough to make progress."
msgstr ""
"{ph0}Δώστε στη γνώση του αποθετηρίου μια δίκαιη ευκαιρία στη σύγκριση.{ph1} "
"Ένα μικρότερο μοντέλο με καλή ανάκτηση πληροφοριών μπορεί ήδη να γνωρίζει "
"αρκετά ώστε να προχωρήσει."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/reverse-engineering-models/index.html: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}Εκπαιδεύστε το μοντέλο να επιλέγει το επόμενο χρήσιμο πείραμα και "
"δοκιμάστε την αναφορά ελέγχου του (oracle).{ph1} Η αξία της ανατροφοδότησης "
"εξαρτάται από το τι επαληθεύει πραγματικά ο ελεγκτής."

#. {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}Μετρήστε τις αποδεκτές ανακατασκευές σε σχέση με τον χρόνο και το "
"κόστος.{ph1} Αυτό είναι το αποτέλεσμα που θέλω από τον βοηθό συνολικά."

#: website/public/blog/reverse-engineering-models/index.html:246
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "In this article"
msgstr "Σε αυτό το άρθρο"

#. {ph0}: <a href="#model-capability">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:248
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}What better models changed{ph1}"
msgstr "{ph0}Τι άλλαξαν τα καλύτερα μοντέλα{ph1}"

#. {ph0}: <a href="#specialization">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:249
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Why specialize?{ph1}"
msgstr "{ph0}Γιατί εξειδίκευση;{ph1}"

#. {ph0}: <a href="#repository-knowledge">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:250
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Where experience lives{ph1}"
msgstr "{ph0}Πού διατηρείται η εμπειρία{ph1}"

#. {ph0}: <a href="#learning-search">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:251
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}Learning the next experiment{ph1}"
msgstr "{ph0}Μαθαίνοντας το επόμενο πείραμα{ph1}"

#. {ph0}: <a href="#re-and-rl">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:252
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}RE and reinforcement learning{ph1}"
msgstr "{ph0}Αντίστροφη μηχανική και ενισχυτική μάθηση{ph1}"

#. {ph0}: <a href="#oracle">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:253
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}When the oracle is wrong{ph1}"
msgstr "{ph0}Όταν η αναφορά ελέγχου είναι λανθασμένη{ph1}"

#. {ph0}: <a href="#comparison">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:254
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}A comparison worth running{ph1}"
msgstr "{ph0}Μια σύγκριση που αξίζει να γίνει{ph1}"

#. {ph0}: <a href="#future-agent">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html:255
#, python-brace-format
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "{ph0}What kind of agent?{ph1}"
msgstr "{ph0}Τι είδους βοηθός;{ph1}"

#: website/public/blog/reverse-engineering-models/index.html:263
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "What better models changed"
msgstr "Τι άλλαξαν τα καλύτερα μοντέλα"

#: 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 ""
"Από τον Αύγουστο του 2026 εξερευνώ πόση αντίστροφη μηχανική μπορεί να "
"αναλάβει ένας βοηθός με πρόσβαση σε ένα πρόγραμμα και έναν τρόπο να ελέγχει "
"τη δουλειά του. Το μεγαλύτερο μέρος της εμπειρίας μου προέρχεται από την "
"ανακατασκευή παιχνιδιών, ιδιαίτερα του Touhou. Καθώς άλλαζα μοντέλα, τα "
"αποθετήρια κρατούσαν αρχείο όσων κατάφερνε να ανακτήσει κάθε συνεδρία."

#: 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 ""
"Μεγάλο μέρος αυτής της δουλειάς στοχεύει στην ακριβή ανακατασκευή: "
"μεταγλωττίζουμε τον πηγαίο κώδικα που συντηρούμε με μια συγκεκριμένη, "
"σταθερή ιστορική αλυσίδα εργαλείων και ελέγχουμε αν αναπαράγει τη συνάρτηση "
"του στόχου. Όταν ένα μεταγενέστερο μοντέλο πετυχαίνει εκεί όπου η "
"προηγούμενη δουλειά είχε σταματήσει, οι αλλαγές στον κώδικα δείχνουν τι "
"έκανε δυνατή αυτή την πρόοδο."

#: 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 "Οι προσωρινές τιμές έπρεπε να διατηρούνται ταυτόχρονα"

#: 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 ""
"Μεγάλο μέρος της λογικής μιας συνάρτησης επίθεσης του TH09 είχε ήδη "
"ανακατασκευαστεί, αλλά ο μεταγλωττιστής εξακολουθούσε να αποθηκεύει τα "
"προσωρινά αποτελέσματα διαφορετικά από το πρωτότυπο. Το πρόβλημα που απέμενε"
" ήταν για πόσο έπρεπε να διατηρούνται αυτά τα αποτελέσματα και πότε μπορούσε"
" να επαναχρησιμοποιηθεί ο χώρος αποθήκευσής τους."

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/de63c0f9121963f3a6b1ab5471c4878625fd3425"
#. >
#. {ph1}: </a >
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/52929ed7c299f1a5f29cc13964e22510145fd616"
#. >
#. {ph3}: </a >
#: website/public/blog/reverse-engineering-models/index.html: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 ""
"Ένα {ph0}σημείο καταγραφής προόδου του GPT-6-Sol{ph1} κατέγραψε αυτή την "
"απόκλιση αφού δοκίμασε διάφορες συνηθισμένες διατάξεις πηγαίου κώδικα. Όταν "
"{ph2}το GPT-6.1-Sol επέστρεψε στο πρόβλημα{ph3}, βρήκε μια χρήσιμη υπόθεση "
"για το πόσο έπρεπε να διατηρούνται αυτές οι προσωρινές τιμές."

#: 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 ""
"Η συνάρτηση παρήγαγε προσωρινά αποτελέσματα και τα αντέγραφε σε θέσεις "
"κινούμενων γραφικών. Στη C++, ένα προσωρινό αποτέλεσμα διατηρείται μέχρι να "
"ολοκληρωθεί η έκφραση που το χρησιμοποιεί. Η ομαδοποίηση των πραγματικών "
"πράξεων σε μία έκφραση διατηρούσε τα αποτελέσματα ταυτόχρονα, οπότε ο "
"μεταγλωττιστής δεν μπορούσε πλέον να επαναχρησιμοποιήσει τον ίδιο χώρο "
"αποθήκευσης για όλα."

#. {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 ""
"Ένα αποτέλεσμα εξακολουθούσε να μοιράζεται χώρο αποθήκευσης με μια τιμή που "
"χρησιμοποιούνταν αργότερα για ελέγχους σύγκρουσης. Δίνοντας σε αυτή την τιμή"
" τον δικό της χρόνο ζωής, επιλύθηκε η επικάλυψη που απέμενε. Μετά από αρκετά"
" στοχευμένα πειράματα, {ph0}μια καθαρή επαναδημιουργία του προγράμματος "
"επιβεβαίωσε ότι ολόκληρη η συνάρτηση ταυτιζόταν με την αρχική{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 ""
"Αυτό που με ενδιαφέρει είναι πώς συνεργάστηκαν η ανακάλυψη και οι δοκιμές. Η"
" υπόθεση για τον χρόνο ζωής έδωσε στον βοηθό μια νέα κατεύθυνση· η "
"ανατροφοδότηση του μεταγλωττιστή τον βοήθησε να την τελειοποιήσει σε μια "
"διάταξη πηγαίου κώδικα που έδινε ακριβή ταύτιση."

#: website/public/blog/reverse-engineering-models/index.html:323
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "A different control-flow graph"
msgstr "Ένας διαφορετικός γράφος ροής ελέγχου"

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/f8d12d72aaf02212ee1b585a8f3f86d7ed000269"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html: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 ""
"Μια δεύτερη συνάρτηση του TH09 δείχνει γιατί αυτή η νέα κατεύθυνση μπορεί να"
" έχει σημασία. Εδώ, το εμπόδιο ήταν ο τρόπος με τον οποίο διάφοροι κλάδοι "
"μοιράζονταν την τελική τους εργασία. {ph0}Η προηγούμενη δουλειά του "
"GPT-6.1-Sol{ph1} πέτυχε ταύτιση σε μέρη της συνάρτησης, αλλά οι κλάδοι "
"εξακολουθούσαν να ενώνονται διαφορετικά από ό,τι στο πρωτότυπο."

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/da33a646221198ceb7f3df2b96e2ca0e9b2f705f"
#. >
#. {ph1}: </a >
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/5f825b28a862f8e1a6d4aea2f78a42f04c09a1c0"
#. >
#. {ph3}: </a >
#: website/public/blog/reverse-engineering-models/index.html: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 άλλαξε τον περιβάλλοντα γράφο ροής ελέγχου{ph1}. Οι "
"κύριες διαδρομές οδηγούσαν πλέον σε μια κοινή τελική ενημέρωση και "
"επιστροφή. Με αυτή τη δομή πηγαίου κώδικα, ο μεταγλωττιστής συνδύαζε τους "
"κλάδους όπως στο πρωτότυπο. Ολόκληρη η συνάρτηση ταυτιζόταν και ένας "
"{ph2}ξεχωριστός έλεγχος επαναδημιουργίας το επιβεβαίωσε{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}Η αλλαγή της αναπαράστασης άνοιξε έναν πιο παραγωγικό χώρο "
"αναζήτησης.{ph1} Και οι δύο περιπτώσεις μού δίνουν λόγο να παίρνω σοβαρά τις"
" γενικές δυνατότητες του μοντέλου: ένας βοηθός μπορεί να δοκιμάζει τοπικές "
"παραλλαγές για πολύ καιρό προτού βρει έναν καλύτερο τρόπο να εκφράσει την "
"εργασία γύρω από αυτές."

#: 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 ""
"Ταυτόχρονα, οι μεταγενέστερες συνεδρίες ξεκίνησαν με τον προηγούμενο πηγαίο "
"κώδικα και τις καταγεγραμμένες αποτυχίες. Αυτή η συσσωρευμένη δουλειά ήταν "
"μέρος του πλεονεκτήματός τους. Το ιστορικό μάς επιτρέπει να εξετάσουμε τις "
"ανακαλύψεις και τους ελέγχους τους· μια ελεγχόμενη σύγκριση θα βοηθούσε να "
"ξεχωρίσουμε την επίδραση του μοντέλου από την εμπειρία που κληρονόμησε."

#: 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 ""
"Εδώ αρχίζει να με ενδιαφέρει το ερώτημα. Μέρος της προόδου ήρθε από την "
"εύρεση μιας νέας αναπαράστασης, ενώ μεγάλο μέρος της δουλειάς που απέμενε "
"αφορούσε δοκιμές μορφών πηγαίου κώδικα με έναν γνώριμο μεταγλωττιστή. Πόση "
"από αυτή τη δουλειά χρειάζεται ευρεία ικανότητα συλλογισμού και πόση θα "
"μπορούσε να μάθει ένα μοντέλο μέσα από επαναλαμβανόμενη εμπειρία με αυτόν "
"τον μεταγλωττιστή και κώδικα;"

#: 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 "Γιατί θα μπορούσε να τα πάει καλά ένα εξειδικευμένο μοντέλο;"

#: 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 μάς δίνει έναν συγκεκριμένο λόγο να περιμένουμε ότι αυτή η "
"εμπειρία θα βοηθήσει. Μεγάλο μέρος του κώδικα των παιχνιδιών προέρχεται από "
"τον ίδιο δημιουργό, τον ZUN, οπότε οι επαναλαμβανόμενες συνήθειες είναι μια "
"εύλογη αρχική παραδοχή. Τα αποθετήρια το στηρίζουν με χρήσιμα παραδείγματα: "
"παρόμοιοι βρόχοι και διατάξεις βοηθητικών συναρτήσεων έχουν δώσει υποθέσεις "
"από το ένα παιχνίδι στο άλλο."

#: 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 ""
"Αυτά τα μοτίβα πηγαίου κώδικα γίνονται πιο συγκεκριμένα όταν συμπεριλάβουμε "
"τον μεταγλωττιστή. Με μια συγκεκριμένη έκδοση και σύνολο επιλογών, μικρές "
"αλλαγές στον κώδικα μπορούν να προκαλέσουν επαναλήψιμες διαφορές στον κώδικα"
" μηχανής. Μερικές από αυτές τις διαφορές είναι εκπληκτικά δυσδιάκριτες."

#. {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 ""
"Στο TH095, για παράδειγμα, {ph0}ακόμη και το όνομα μιας τοπικής μεταβλητής "
"μπορούσε να αλλάξει το πού την αποθήκευε ο VC7.1{ph1}. Η μετακίνηση της "
"δήλωσης από μόνη της δεν έλυσε το πρόβλημα της διάταξης, αλλά μια "
"προηγούμενη συνάρτηση του φόντου είχε αποκαλύψει ένα μοτίβο ονοματοδοσίας "
"που επηρέαζε την επιλογή του μεταγλωττιστή. Αυτό μας έδωσε μια πιο "
"υποσχόμενη υπόθεση για {ph2}την ανακατασκευή της {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 ""
"Η επαναχρησιμοποίηση αυτού του μοτίβου για τη μεταβλητή του μεγέθους αρχείου"
" έδωσε την απαιτούμενη διάταξη χωρίς να προστεθεί χώρος αποθήκευσης. Στη "
"συνέχεια, ολόκληρη η συνάρτηση ταυτίστηκε με την αρχική."

#: 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 ""
"Τέτοιες εξειδικευμένες λεπτομέρειες μπορεί να μην τις γνωρίζει ένα γενικό "
"μοντέλο όταν ξεκινά. Ένα εξειδικευμένο μοντέλο εκπαιδευμένο σε αυτόν τον "
"μεταγλωττιστή θα μπορούσε να συναντήσει πολλές τέτοιες περιπτώσεις και να "
"μάθει ποιες παραλλαγές πηγαίου κώδικα αξίζει να δοκιμάζει πρώτα."

#: 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 ""
"Η ευκαιρία είναι ιδιαίτερα σαφής στα τελικά προβλήματα ακριβούς ταύτισης, "
"όπου καταλαβαίνουμε ήδη τη συμπεριφορά. Τότε ρωτάμε ποια συνηθισμένη μορφή "
"πηγαίου κώδικα μετατρέπει αυτός ο μεταγλωττιστής στις παρατηρημένες εντολές."
" Η εξειδίκευση θα μπορούσε να βοηθήσει το μοντέλο να προτείνει αυτές τις "
"μορφές πιο αποδοτικά, ενώ ο στόχος εξακολουθεί να καθορίζει ποιες υποθέσεις "
"αντέχουν στον έλεγχο."

#. {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 ""
"Τα χρήσιμα μοτίβα θα έπρεπε, όμως, να διατηρούν το πλαίσιό τους. Το TH08 "
"χρησιμοποιεί παλαιότερη έκδοση του Visual C++ από τα TH095 και TH09. Το TH04"
" χρησιμοποιεί διαφορετικό μεταγλωττιστή της εποχής του DOS και η "
"{ph0}ανακατασκευή του παίκτη{ph1} χρειάστηκε διαφορετικές υποθέσεις για τα "
"μοτίβα πηγαίου κώδικα και για τον τρόπο με τον οποίο ο μεταγλωττισμένος "
"κώδικας συνδυαζόταν σε εκτελέσιμο. Ο κοινός δημιουργός μάς δίνει μια αρχική "
"εκτίμηση, αλλά κάθε στόχος μάς δείχνει αν ισχύει. Η διάκριση αυτών των "
"πλαισίων είναι μέρος όσων θα έπρεπε να μάθει ένα εξειδικευμένο μοντέλο."

#: website/public/blog/reverse-engineering-models/index.html:436
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Where should that experience live?"
msgstr "Πού πρέπει να διατηρείται αυτή η εμπειρία;"

#. {ph0}: <a href="../touhou-reconstruction/">
#. {ph1}: </a>
#: website/public/blog/reverse-engineering-models/index.html: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 ""
"Πριν αποφασίσω να διδάξω αυτά τα μοτίβα μέσω της εκπαίδευσης του μοντέλου, "
"θα εξέταζα τη γνώση που διατηρούμε ήδη στο αποθετήριο. Στο {ph0}προηγούμενο "
"δοκίμιο{ph1} έγραψα ότι γίνεται η μνήμη εργασίας του έργου. Αυτή η μνήμη "
"περιλαμβάνει μαθήματα για τον μεταγλωττιστή, μαζί με τον πηγαίο κώδικα και "
"τα αποτυχημένα πειράματα που τα έκαναν χρήσιμα."

#: 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 ""
"Ανακτώντας αυτό το αρχείο, ένας βοηθός μπορεί να ξεκινήσει με ένα γνωστό "
"αποτέλεσμα και να εξετάσει πώς φτάσαμε σε αυτό. Μπορεί επίσης να αποφύγει "
"εναλλακτικές που έχουν ήδη αποτύχει στο ίδιο πλαίσιο. Το σημείο εκκίνησης "
"βελτιώνεται χωρίς να αλλάξουν τα βάρη του μοντέλου."

#. {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 ""
"Κατά την ανακατασκευή της συνάρτησης δημιουργίας εχθρών του TH09, μια "
"{ph0}συνεδρία GPT-6-Luna-max{ph1} άντλησε μια υπόθεση από την αντίστοιχη "
"οικογένεια πηγαίου κώδικα του TH08. Αυτός ο παλαιότερος κώδικας υπέδειξε πώς"
" να δομηθεί ο βρόχος και πώς να αντιμετωπιστούν οι αποτυχίες μέσα σε αυτόν. "
"Τα στοιχεία του ίδιου του TH09 έδωσαν τις λεπτομέρειες που αφορούσαν το "
"συγκεκριμένο παιχνίδι και καθαρές επαναδημιουργίες του προγράμματος "
"επιβεβαίωσαν την πλήρη ταύτιση."

#. {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}Το «το μοντέλο δεν γνώριζε αυτή την ιδιομορφία του μεταγλωττιστή» και "
"το «το μοντέλο δεν μπορούσε να τη χρησιμοποιήσει» είναι διαφορετικά "
"προβλήματα.{ph1} Η ανάκτηση πληροφοριών μπορεί να λύσει το πρώτο, αλλά η "
"μετατροπή αυτού του δεδομένου σε μια χρήσιμη υποψήφια εκδοχή εξακολουθεί να "
"απαιτεί δουλειά. Και αν η εκδοχή αποτύχει, το μοντέλο πρέπει να αποφασίσει "
"τι σημαίνει το αποτέλεσμα για την επόμενη προσπάθειά του. Η γνώση του "
"σχετικού μοτίβου είναι μόνο η αρχή αυτής της διαδικασίας."

#: 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 ""
"Γι' αυτό θα συμπεριλάμβανα σε κάθε σύγκριση ένα μικρότερο γενικό μοντέλο με "
"καλή ανάκτηση πληροφοριών. Δίνοντάς του την ίδια βιβλιοθήκη εμπειρίας, θα "
"μπορούσαμε να εντοπίσουμε τι προσθέτει η εκπαίδευση: καλύτερη παραγωγή "
"υποψήφιων εκδοχών, καλύτερες αποφάσεις μετά την ανατροφοδότηση ή και τα δύο."

#: website/public/blog/reverse-engineering-models/index.html:481
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Learning the next useful experiment"
msgstr "Μαθαίνοντας το επόμενο χρήσιμο πείραμα"

#: 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 ""
"Αυτές τις αποφάσεις μετά την ανατροφοδότηση θα ήθελα περισσότερο να "
"μελετήσω. Στην ανακατασκευή με βοηθούς, το μοντέλο προτείνει μια εξήγηση και"
" τη δοκιμάζει σε σχέση με το πρόγραμμα. Ακόμη και όταν η υποψήφια εκδοχή "
"αποτυγχάνει, το αποτέλεσμα μπορεί να περιορίσει τις δυνατότητες που "
"απομένουν και να υποδείξει ένα πιο χρήσιμο επόμενο πείραμα."

#: 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 ""
"Ας δούμε ξανά το παράδειγμα με τα προσωρινά αποτελέσματα. Ο τελικός πηγαίος "
"κώδικάς του δείχνει τη διάταξη που λειτούργησε, αλλά η διαδρομή προς αυτόν "
"τον κώδικα περιέχει περισσότερες πληροφορίες. Κάθε ένα από τα παρακάτω "
"πειράματα βοήθησε να εντοπιστεί τι έπρεπε ακόμη να αλλάξει."

#: website/public/blog/reverse-engineering-models/index.html:502
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Experiment"
msgstr "Πείραμα"

#: website/public/blog/reverse-engineering-models/index.html:503
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "What its result taught us"
msgstr "Τι μας έμαθε το αποτέλεσμά του"

#: 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 "Δοκιμάστε έναν διαφορετικό τρόπο αντιγραφής των αποτελεσμάτων"

#: 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 ""
"Ο κώδικας αντιγραφής αλλάζει, αλλά η συνάρτηση εξακολουθεί να διαφέρει."

#: website/public/blog/reverse-engineering-models/index.html:514
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Use the returned values directly"
msgstr "Χρησιμοποιήστε απευθείας τις επιστρεφόμενες τιμές"

#: 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 ""
"Η αντιγραφή ακολουθεί το αρχικό μοτίβο, αλλά η αποθήκευση των προσωρινών "
"τιμών εξακολουθεί να διαφέρει."

#: 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 "Διατηρήστε τα προσωρινά αποτελέσματα ταυτόχρονα"

#: 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 ""
"Αποκτούν ξεχωριστό χώρο αποθήκευσης, αλλά ένα εξακολουθεί να επικαλύπτεται "
"με μια τιμή που χρησιμοποιείται αργότερα για ελέγχους σύγκρουσης."

#: 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 "Κρατήστε ξεχωριστή την τιμή του ελέγχου σύγκρουσης"

#: 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 ""
"Μια καθαρή επαναδημιουργία του προγράμματος επιβεβαιώνει την πλήρη ταύτιση."

#: 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 ""
"Επιλεγμένα πειράματα από την παραπάνω ανακατασκευή της συνάρτησης επίθεσης, "
"ομαδοποιημένα με βάση όσα μας έμαθαν."

#: 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 ""
"Ένα αρχείο εκπαίδευσης που διατηρεί αυτή την ακολουθία μπορεί να διδάξει "
"περισσότερα από τον τελικό πηγαίο κώδικα μόνο. Συνδέει κάθε προτεινόμενη "
"αλλαγή με ένα παρατηρημένο αποτέλεσμα και την επόμενη απόφαση. Έχει σημασία "
"να κρατάμε και τις αναποτελεσματικές παραλλαγές: δείχνουν σε έναν "
"μεταγενέστερο βοηθό ποιες υποθέσεις έχουν ήδη δοκιμαστεί σε αυτό το πλαίσιο."

#. {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}Θα ήθελα το μοντέλο να μάθει πώς να χρησιμοποιεί την "
"ανατροφοδότηση.{ph1} Ένα ουδέτερο αποτέλεσμα είναι λόγος να επανεξετάσει την"
" παραλλαγή· μια αλλαγή στην απόκλιση μπορεί να δείχνει άλλη αιτία. Όταν οι "
"τοπικές αλλαγές σταματούν να δίνουν χρήσιμες πληροφορίες, ο βοηθός θα πρέπει"
" να μπορεί να επανεξετάσει την αναπαράσταση του πηγαίου κώδικα ή να "
"επιθεωρήσει ξανά τα στοιχεία."

#: 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 ""
"Η εκμάθηση αυτών των επιλογών απαιτεί αυτονομία. Μερικές φορές, το χρήσιμο "
"επόμενο βήμα είναι να εξεταστεί μια άλλη συνάρτηση που καλεί την υπό εξέταση"
" συνάρτηση, αντί να μεταγλωττιστεί άλλη μία αλλαγή. Μια άκαμπτη ακολουθία "
"υποχρεωτικών επανεγγραφών θα αφαιρούσε αυτή την επιλογή, μαζί με μέρος της "
"συμπεριφοράς που θέλουμε να μάθει το μοντέλο."

#: 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 "Γιατί η αντίστροφη μηχανική έχει ενδιαφέρον για την ενισχυτική μάθηση"

#: 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 ""
"Η ανακατασκευή με καθορισμένα όρια μάς δίνει ένα πρακτικό περιβάλλον για να "
"μελετήσουμε αυτές τις επιλογές. Μόλις ο στόχος και ο μεταγλωττιστής "
"καθοριστούν και παραμείνουν σταθεροί, πολλά πειράματα με τον πηγαίο κώδικα "
"παράγουν γρήγορη, επαναλήψιμη ανατροφοδότηση. Ο βοηθός μπορεί να "
"μεταγλωττίσει μια υποψήφια εκδοχή, να εξετάσει την απόκλιση και να "
"χρησιμοποιήσει αυτή την παρατήρηση για να επιλέξει το επόμενο βήμα του."

#: 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 ""
"Η ενισχυτική μάθηση θα μπορούσε να εκπαιδεύσει αυτή τη διαδικασία λήψης "
"αποφάσεων μέσω της ανατροφοδότησης που λαμβάνει. Μια υποψήφια εκδοχή που "
"γίνεται αποδεκτή από έναν καθορισμένο έλεγχο μάς δίνει συγκεκριμένο "
"αποτέλεσμα, ενώ η ακολουθία των προσπαθειών μάς επιτρέπει να παρατηρήσουμε "
"πόση δουλειά χρειάστηκε για να φτάσουμε σε αυτό."

#. {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 ""
"Υπάρχει ήδη έρευνα που στηρίζει αυτή την κατεύθυνση. Το "
"{ph0}LLM4Decompile{ph1} μελετά μοντέλα εξειδικευμένα στην απομεταγλώττιση. "
"Το {ph2}AutoDecompiler{ph3} εκπαιδεύει τη βελτίωση μέσα από πολλαπλούς "
"γύρους, χρησιμοποιώντας ανατροφοδότηση από τη μεταγλώττιση και την εκτέλεση."
" Οι μελέτες τους εστιάζουν στην ανάκτηση της λειτουργικότητας. Για αυτή τη "
"δουλειά, θα τις χρησιμοποιούσα ως αφετηρία για το συγγενικό έργο της εύρεσης"
" πηγαίου κώδικα που ταυτίζεται με την έξοδο ενός ιστορικού μεταγλωττιστή."

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th08/commit/af9cb1d3e839b15a78b47ac1701506083cc82847"
#. >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html: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 ""
"Για να φτάσουμε, όμως, σε ένα τόσο καλά ορισμένο έργο, ίσως χρειαστεί πρώτα "
"να προσδιορίσουμε τι ανήκει σε μια συνάρτηση ή να επινοήσουμε μια νέα "
"μέτρηση κατά την εκτέλεση. Στο TH08, για παράδειγμα, μια {ph0}διαφορά στις "
"συγκρούσεις μάς οδήγησε στον τρόπο με τον οποίο το αρχικό πρόγραμμα "
"χειριζόταν τους υπολογισμούς κινητής υποδιαστολής{ph1}. Πριν ο βοηθός "
"μπορέσει να δοκιμάσει μια χρήσιμη διόρθωση, έπρεπε να βρει τι να μετρήσει."

#: 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 ""
"Αυτό υποδεικνύει έναν ακόμη ρόλο για ένα μοντέλο με ευρείες δυνατότητες: να "
"βοηθά εξαρχής να γίνει το πρόβλημα ελέγξιμο. Μόλις υπάρξει αυτός ο έλεγχος, "
"μπορούμε να διερευνήσουμε πόσο μακριά μπορεί να φτάσει με αυτόν μια πολιτική"
" αναζήτησης που έχει μάθει το μοντέλο."

#: website/public/blog/reverse-engineering-models/index.html:608
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "When the oracle is wrong"
msgstr "Όταν η αναφορά ελέγχου είναι λανθασμένη"

#: 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 ""
"Μόλις εκπαιδεύσουμε το μοντέλο με βάση αυτόν τον έλεγχο, η κάλυψή του "
"γίνεται μέρος όσων μαθαίνει το μοντέλο. Αποκαλώ την αναφορά ή τον ελεγκτή "
"«αναφορά ελέγχου» (oracle). Ακόμη κι αν δίνει επαναλήψιμη απάντηση, "
"εξακολουθούμε να πρέπει να καταλαβαίνουμε τι καλύπτει αυτή η απάντηση."

#: 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 έδειξε πόσα μπορούν να κρύβονται έξω από αυτή την κάλυψη. Ορισμένες "
"ανακατασκευασμένες συναρτήσεις πέρασαν τις ακριβείς συγκρίσεις τους με "
"λανθασμένες σταθερές κινητής υποδιαστολής. Ο συγκριτής προσάρμοζε τις "
"διευθύνσεις που είχαν μετατοπιστεί πριν ελέγξει τις εντολές, αλλά έλεγχε τις"
" τιμές πίσω από αυτές τις διευθύνσεις μόνο όταν είχαν καταγραφεί ρητά για "
"επαλήθευση. Άλλες αναφορές σε κυριολεκτικές τιμές μπορούσαν να περάσουν "
"χωρίς να εξεταστούν οι τιμές τους."

#. {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 ""
"Για να κλείσει αυτό το κενό, ένας {ph0}ευρύτερος έλεγχος{ph1} εντόπισε "
"λανθασμένες σταθερές σε συναρτήσεις που είχαν ήδη γίνει αποδεκτές. Σε έναν "
"υπολογισμό, ο ανακατασκευασμένος πηγαίος κώδικας πρόσθετε {ph2} εκεί όπου ο "
"αρχικός πρόσθετε {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}Ένα μοντέλο που μάθαινε και ανταμειβόταν από τον παλιό έλεγχο θα "
"μπορούσε να μάθει να παράγει λανθασμένη ανακατασκευή.{ph1} Δεν είχαμε "
"εκπαιδεύσει μοντέλο ενισχυτικής μάθησης με βάση αυτή την αναφορά ελέγχου· η "
"παρατηρημένη αστοχία ήταν στον ίδιο τον έλεγχο. Όμως η χρήση αυτού του "
"ελέγχου ως ανταμοιβής θα έκανε το ίδιο τυφλό σημείο μέρος του περιβάλλοντος "
"μάθησης."

#. {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 ""
"Μια λειτουργική δοκιμή μπορεί να έχει παρόμοιο τυφλό σημείο. {ph0}Έρευνα "
"διαφορικού fuzzing σε απομεταγλωττιστές LLM{ph1} έχει εντοπίσει διαφορές "
"συμπεριφοράς πέρα από τις παρεχόμενες δοκιμές. Επομένως, η επιτυχία σε αυτές"
" τις δοκιμές πρέπει να ερμηνεύεται με βάση τις περιπτώσεις που εξετάζουν, "
"όπως και η ταύτιση εντολών πρέπει να ερμηνεύεται με βάση τα bytes και τα "
"δεδομένα που ελέγχει."

#: 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 ""
"Πριν χρησιμοποιήσω οποιοδήποτε από τα δύο είδη ελέγχου ως ανταμοιβή, θα το "
"δοκίμαζα με σκόπιμες αστοχίες. Θα κρατούσα επίσης την τελική αποδοχή έξω από"
" τον επεξεργάσιμο πηγαίο κώδικα της υποψήφιας εκδοχής, ώστε το μοντέλο να "
"πρέπει να ικανοποιήσει τον έλεγχο μέσω της ανακατασκευής του. Διαφορετικά, "
"κάτι όπως ένας πίνακας bytes αντιγραμμένος από τον στόχο θα μπορούσε να "
"πετύχει σε μια απλοϊκή βαθμολόγηση χωρίς να ανακτηθεί χρήσιμος πηγαίος "
"κώδικας."

#. {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}Η βελτίωση του μοντέλου που μαθαίνει και η βελτίωση της αναφοράς "
"ελέγχου του ανήκουν στο ίδιο ερευνητικό πρόβλημα.{ph1} Καθώς το μοντέλο "
"γίνεται καλύτερο στη βελτιστοποίηση της ανατροφοδότησης που του δίνουμε, "
"γίνεται επίσης πιο σημαντικό να καταλαβαίνουμε αυτή την ανατροφοδότηση."

#: website/public/blog/reverse-engineering-models/index.html:672
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "A comparison worth running"
msgstr "Μια σύγκριση που αξίζει να γίνει"

#: 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 ""
"Με αυτούς τους ελέγχους έτοιμους, θα ξεκινούσα τη σύγκριση σε μια σταθερή "
"οικογένεια εργασιών VC7.1. Πρώτα θα καθόριζα τις επιδόσεις αναφοράς για ένα "
"ισχυρό γενικό μοντέλο και για ένα μικρότερο. Η προσθήκη γνώσης του "
"αποθετηρίου στο μικρότερο μοντέλο θα έδειχνε τι αλλάζει η ανάκτηση "
"πληροφοριών. Στη συνέχεια, η επιβλεπόμενη εξειδίκευση και μια έκδοση "
"εκπαιδευμένη με ενισχυτική μάθηση θα μας επέτρεπαν να εξετάσουμε τι "
"προσθέτει η εκπαίδευση."

#: 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 ""
"Για να δίνουν χρήσιμες πληροφορίες αυτές οι συγκρίσεις, κάθε μοντέλο θα "
"λάμβανε τα ίδια στοιχεία για τον στόχο και τα ίδια εργαλεία. Στις συγκρίσεις"
" που αφορούν την εκπαίδευση, θα κρατούσα επίσης σταθερά το βασικό μοντέλο "
"και τη διαθέσιμη γνώση. Οι επαναλαμβανόμενες δοκιμές θα βοηθούσαν να "
"ξεχωρίσουμε μια αξιόπιστη στρατηγική αναζήτησης από μια τυχερή υποψήφια "
"εκδοχή."

#: 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 ""
"Έπειτα θα ξεχώριζα δύο αρχικές συνθήκες: την ανακατασκευή μιας συνάρτησης "
"από τις εντολές της και την εξάλειψη των τελευταίων λίγων διαφορών στον "
"πηγαίο κώδικα που συντηρούμε. Ένα εξειδικευμένο μοντέλο μπορεί να είναι "
"εξαιρετικό στη δεύτερη εργασία, ενώ ένα γενικό μοντέλο κάνει μεγάλο μέρος "
"της δουλειάς που χρειάζεται για να φτάσουμε σε αυτή. Η ξεχωριστή μέτρησή "
"τους θα φανέρωνε αυτή την κατανομή της δουλειάς."

#: 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 ""
"Και οι δύο εργασίες χρειάζονται παραδείγματα που έχουν πράγματι αποκλειστεί "
"από την εκπαίδευση. Επειδή τα συγγενικά παιχνίδια Touhou μοιράζονται κώδικα "
"μηχανής παιχνιδιού, ο αποκλεισμός με βάση το όνομα ενός παιχνιδιού θα "
"επέτρεπε ακόμη να εμφανιστούν σχεδόν πανομοιότυπες συναρτήσεις στην "
"εκπαίδευση. Αντί γι' αυτό, θα απέκλεια οικογένειες πηγαίου κώδικα και θα "
"κρατούσα τις αποδεκτές απαντήσεις τους έξω τόσο από την εκπαίδευση όσο και "
"από την ανάκτηση πληροφοριών."

#: 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 ""
"Σε αυτά τα παραδείγματα, το αποτέλεσμα θα ήταν πλήρεις ταυτίσεις, "
"επικυρωμένες ανεξάρτητα. Δίνοντας σε κάθε μοντέλο το ίδιο όριο υποψήφιων "
"εκδοχών ή μεταγλωττίσεων, θα μπορούσαμε να συγκρίνουμε την ποιότητα της "
"αναζήτησης. Η μέτρηση του συνολικού χρόνου και κόστους, συμπεριλαμβανομένης "
"της μεταγλώττισης, θα μας έλεγε αν αυτή η ποιότητα παράγει αποδοτική ροή "
"εργασίας. Το κόστος εκπαίδευσης θα χρειαζόταν επίσης ξεχωριστή καταγραφή."

#: 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 ""
"Και οι δύο οπτικές έχουν σημασία, επειδή μια φθηνότερη πρόταση μπορεί να "
"οδηγήσει σε ακριβή ροή εργασίας αν προκαλεί περισσότερες μεταγλωττίσεις που "
"δεν δίνουν χρήσιμες πληροφορίες. Αντίστροφα, ένα πιο αργό μοντέλο μπορεί να "
"καλύψει το κόστος του βρίσκοντας νωρίτερα ένα χρήσιμο πείραμα. Η σύγκριση "
"πρέπει να καταγράφει αυτά τα κόστη."

#. {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 ""
"Η καταμέτρηση των αποδεκτών αποτελεσμάτων βοηθά επίσης να αξιολογούμε σωστά "
"την ενδιάμεση πρόοδο. Μια {ph0}υποψήφια εκδοχή αποθήκευσης επανάληψης του "
"TH09{ph1} φαινόταν υποσχόμενη, επειδή η μεταγλωττισμένη συνάρτηση είχε το "
"αναμενόμενο μέγεθος, αλλά μια πλήρης σύγκριση εξακολουθούσε να βρίσκει "
"σημαντικές διαφορές. Αλλαγές στον τρόπο με τον οποίο ο μεταγλωττιστής "
"διατάσσει τις εντολές μπορούν επίσης να κάνουν μια υποψήφια εκδοχή να "
"φαίνεται πιο κοντά στον στόχο χωρίς να λύσουν το υποκείμενο πρόβλημα. Τέτοια"
" διαγνωστικά στοιχεία μπορούν να καθοδηγήσουν το επόμενο πείραμα, αλλά θα "
"επικύρωνα κάθε ανταμοιβή για το «πλησιάζει περισσότερο» σε σχέση με τον "
"πλήρη έλεγχο αποδοχής."

#: 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 ""
"Θα με ενδιέφερε το μοτίβο που προκύπτει από αυτά τα αποτελέσματα. Αν ένα "
"εξειδικευμένο μοντέλο τα πηγαίνει καλά μέσα σε μια γνώριμη οικογένεια "
"μεταγλωττιστών, διατηρείται αυτό το πλεονέκτημα όταν αλλάξει η αλυσίδα "
"εργαλείων; Και όταν και τα δύο μοντέλα έχουν καλή ανάκτηση πληροφοριών, πόσα"
" εξακολουθεί να προσθέτει η εκπαίδευση; Οι απαντήσεις θα μας βοηθούσαν να "
"αποφασίσουμε πού είναι πιο χρήσιμο κάθε είδος μοντέλου."

#: 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 "Τι είδους βοηθό υποδεικνύει αυτό;"

#: 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 ""
"Αν διαπιστωθεί ότι τα μοντέλα βοηθούν σε διαφορετικά στάδια, μια χρήσιμη "
"διάταξη θα μπορούσε να είναι ένας βοηθός ευρείας ικανότητας με πρόσβαση σε "
"ένα εξειδικευμένο μοντέλο. Μόλις μια εργασία γίνει μια γνώριμη αναζήτηση με "
"τον μεταγλωττιστή, θα μπορούσε να ζητήσει από το εξειδικευμένο μοντέλο "
"υποψήφιες εκδοχές. Αν τα αποτελέσματα πάψουν να βγάζουν νόημα, ο βοηθός με "
"τις ευρύτερες δυνατότητες θα μπορούσε να επιστρέψει στα στοιχεία του στόχου "
"ή να διερευνήσει την ίδια τη μέτρηση."

#: 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 ""
"Σε αυτή τη διάταξη, η εξειδίκευση γίνεται εργαλείο που μπορεί να επιλέγει ο "
"βοηθός καθώς εξελίσσεται η διερεύνηση. Ο βοηθός διατηρεί την ελευθερία να "
"αλλάζει κατεύθυνση, η οποία έκανε δυνατές τις προηγούμενες σημαντικές "
"ανακαλύψεις."

#: 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 ""
"Αυτό προκύπτει φυσικά από τη βιομηχανική αλλαγή που περιέγραψα στο "
"προηγούμενο δοκίμιο. Η δυνατότητα να εκτελούμε πολύ περισσότερα πειράματα "
"αλλάζει τον τρόπο με τον οποίο οργανώνουμε τη δουλειά. Μας δίνει επίσης λόγο"
" να ρωτήσουμε ποιες αποφάσεις χρειάζονται ευρεία κρίση και ποιες "
"βελτιώνονται μέσα από επαναλαμβανόμενη εμπειρία με μια συγκεκριμένη τέχνη."

#: 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 ""
"Προς το παρόν, το ισχυρότερο γενικό μοντέλο έχει κερδίσει τη θέση του στη "
"ροή εργασίας μου ανοίγοντας δρόμο σε προβλήματα που είχα αφήσει άλυτα. Αυτές"
" οι επιτυχίες με κάνουν να θέλω να εξετάσω τη δουλειά πιο προσεκτικά: πόσο "
"εξαρτήθηκε από το εύρος των δυνατοτήτων του μοντέλου και πόσο θα μπορούσε να"
" αναλάβει ένα μοντέλο εκπαιδευμένο σε αυτό το συγκεκριμένο είδος "
"ανακατασκευής;"

#. {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}Τα αποθετήρια μάς δίνουν έναν τρόπο να ελέγξουμε το ερώτημα.{ph1} Θα "
"ήθελα να χρησιμοποιήσω αυτό το αρχείο για να οργανώσω τη σύγκριση και να δω "
"τι θα μάθουμε."

#: website/public/blog/reverse-engineering-models/index.html:780
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Evidence and model attribution"
msgstr "Στοιχεία και απόδοση της εργασίας στα μοντέλα"

#. {ph0}: <a
#. href="https://github.com/morluto/rea/blob/main/website/evidence/reverse-
#. engineering-models.md" >
#. {ph1}: </a >
#: website/public/blog/reverse-engineering-models/index.html: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 ""
"Οι {ph0}αναλυτικές σημειώσεις τεκμηρίωσης{ph1} περιλαμβάνουν τις "
"καταγεγραμμένες συγκρίσεις και το πλαίσιο των πειραμάτων."

#: 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 ""
"Τα παραδείγματα περιγράφουν ιστορικές συγκρίσεις σε επίπεδο συνάρτησης, "
"καταγεγραμμένες στα συνδεδεμένα commits. Οι έλεγχοι εκτέλεσης ολόκληρου του "
"παιχνιδιού είναι ξεχωριστά ορόσημα. Ο πηγαίος κώδικας και τα αρχεία ταύτισης"
" εξετάστηκαν στις 13 Οκτωβρίου 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 ""
"Η ετικέτα {ph0} του TH09 προσδιορίζει το GPT-6-Astra. Η {ph1} άλλαζε ανάλογα"
" με το μοντέλο που χρησιμοποιούνταν κάθε φορά, οπότε αυτή η ετικέτα μόνη της"
" δεν προσδιορίζει μια μεμονωμένη εκτέλεση. Τα ρητά ονόματα μοντέλων στα άλλα"
" commits που παρατίθενται τεκμηριώνουν την καταγεγραμμένη απόδοση της "
"εργασίας σε αυτά· τα ιστορικά δεν περιέχουν ομοιόμορφες μετρήσεις κόστους ή "
"προσπάθειας ανά εκτέλεση."

#. {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:{ph1} η {ph2}προηγούμενη εξέταση "
"του πλαισίου{ph3} και η {ph4}πλήρης ανακατασκευή με καθαρή εκκίνηση{ph5}."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/f8d12d72aaf02212ee1b585a8f3f86d7ed000269"
#. >
#. {ph3}: </a >
#. {ph4}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/da33a646221198ceb7f3df2b96e2ca0e9b2f705f"
#. >
#. {ph5}: </a >
#. {ph6}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/5f825b28a862f8e1a6d4aea2f78a42f04c09a1c0"
#. >
#. {ph7}: </a >
#: website/public/blog/reverse-engineering-models/index.html: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}Συνάρτηση επανάκλησης Front του TH09:{ph1} {ph2}διαγνωστικές περιοχές "
"χωρίς ακριβή ταύτιση{ph3}, {ph4}ο νέος γράφος του Astra{ph5} και η "
"{ph6}αποδεκτή επανάληψη της μεταγλώττισής του{ph7}."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th095/commit/26bb64bdb093a13f73abd0ee8ae7ce199ee4658f"
#. >
#. {ph3}: </a >
#. {ph4}: <a
#. href="https://github.com/N0zoM1z0/th04/commit/6dce0a79d5b931f0e2a08475b90e0c33d2321b98"
#. >
#. {ph5}: </a >
#. {ph6}: <a
#. href="https://github.com/N0zoM1z0/th09/commit/1eb843383941d00065622a9e353146c4bb96979e"
#. >
#. {ph7}: </a >
#: website/public/blog/reverse-engineering-models/index.html: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}Γνώση του μεταγλωττιστή:{ph1} {ph2}επαναχρησιμοποίηση κάδου "
"αναγνωριστικών στο TH095{ph3}, {ph4}πηγαίος κώδικας του παίκτη στο TH04 και "
"σειρά σύνδεσης{ph5} και {ph6}ολοκλήρωση της συνάρτησης δημιουργίας εχθρών "
"του TH09 από το Luna{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}Έλεγχοι και διαγνωστικά στοιχεία:{ph1} {ph2}έλεγχος κυριολεκτικών τιμών"
" κινητής υποδιαστολής του TH08{ph3}, {ph4}αριθμητική διερεύνηση του "
"TH08{ph5} και {ph6}ανακατασκευή της αποθήκευσης επανάληψης του TH09{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 ""
"Οι προτεινόμενες συγκρίσεις εξειδικευμένων μοντέλων και ενισχυτικής μάθησης "
"είναι μελλοντικά πειράματα. Τα ιστορικά των έργων αποτελούν το κίνητρό τους·"
" κανένα εκπαιδευμένο εξειδικευμένο μοντέλο δεν αξιολογήθηκε για αυτό το "
"δοκίμιο."

#: website/public/blog/reverse-engineering-models/index.html:6
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Does reverse engineering need a bigger model? | REA"
msgstr "Χρειάζεται η αντίστροφη μηχανική μεγαλύτερο μοντέλο; | REA"

#: website/public/blog/reverse-engineering-models/index.html:7
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid ""
"What Touhou reconstruction taught me about general models, specialist models"
" and learning to propose better hypotheses from compiler feedback."
msgstr ""
"Τι μου έμαθε η ανακατασκευή του Touhou για τα γενικά μοντέλα, τα "
"εξειδικευμένα μοντέλα και το πώς μαθαίνουν να προτείνουν καλύτερες υποθέσεις"
" μέσα από την ανατροφοδότηση του μεταγλωττιστή."

#: website/public/blog/reverse-engineering-models/index.html:245
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/blog/reverse-engineering-models/index.html:258
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Models and reverse engineering essay"
msgstr "Δοκίμιο για τα μοντέλα και την αντίστροφη μηχανική"

#: website/public/blog/reverse-engineering-models/index.html:496
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Selected reconstruction experiments"
msgstr "Επιλεγμένα πειράματα ανακατασκευής"

#: website/public/blog/reverse-engineering-models/index.html:889
msgctxt "page:blog/reverse-engineering-models/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/blog/touhou-reconstruction/index.html:107
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/blog/touhou-reconstruction/index.html:199
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}Home{ph1} / {ph2}Blog{ph3} / Touhou reconstruction"
msgstr "{ph0}Αρχική{ph1} / {ph2}Ιστολόγιο{ph3} / Ανακατασκευή του Touhou"

#: website/public/blog/touhou-reconstruction/index.html:203
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Essay · Touhou reconstruction"
msgstr "Δοκίμιο · Ανακατασκευή του Touhou"

#: website/public/blog/touhou-reconstruction/index.html:204
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "The industrial revolution in reverse engineering."
msgstr "Η βιομηχανική επανάσταση στην αντίστροφη μηχανική."

#: website/public/blog/touhou-reconstruction/index.html:205
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "By N0zoM1z0 · 10 October 2026"
msgstr "Του N0zoM1z0 · 10 Οκτωβρίου 2026"

#: website/public/blog/touhou-reconstruction/index.html:207
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Takeaway"
msgstr "Βασικά συμπεράσματα"

#. {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}Δώστε στους βοηθούς αυτονομία στη διερεύνηση.{ph1} Ορίστε έναν σαφή "
"στόχο και κριτήρια αποδοχής και έπειτα αφήστε τον βοηθό να αποφασίσει τι θα "
"δοκιμάσει στη συνέχεια."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:214
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid ""
"{ph0}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}Χρησιμοποιήστε το αποθετήριο και το Git ως μνήμη εργασίας.{ph1} "
"Κρατήστε το σκεπτικό μαζί με τον κώδικα. Τα σημεία καταγραφής προόδου στο "
"Git επιτρέπουν στην επόμενη συνεδρία να συνεχίσει αφού τελειώσει η συζήτηση."

#. {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}Αφήστε τα στοιχεία να καθορίζουν τι ισχυρίζεστε.{ph1} Μια εξήγηση που "
"διατυπώνεται με σιγουριά εξακολουθεί να χρειάζεται δοκιμή. Το «άγνωστο» "
"είναι έγκυρη απάντηση όταν τα στοιχεία είναι ελλιπή."

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html:224
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid ""
"{ph0}Test the oracle too.{ph1} Try cases it should reject. If it misses a "
"bug, revisit the earlier results that depended on it."
msgstr ""
"{ph0}Δοκιμάστε και την αναφορά ελέγχου.{ph1} Δοκιμάστε περιπτώσεις που θα "
"έπρεπε να απορρίπτει. Αν δεν εντοπίσει ένα σφάλμα, επανεξετάστε τα "
"προηγούμενα αποτελέσματα που βασίστηκαν σε αυτή."

#. {ph0}: <strong >
#. {ph1}: </strong >
#: website/public/blog/touhou-reconstruction/index.html: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}Βρισκόμαστε στις πρώτες μέρες της βιομηχανικής επανάστασης της "
"αντίστροφης μηχανικής.{ph1} Οι μέθοδοι διαμορφώνονται ακόμη. Απομένουν πολλά"
" να εξερευνήσουμε."

#: website/public/blog/touhou-reconstruction/index.html:241
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "How experience compounds"
msgstr "Πώς συσσωρεύεται η εμπειρία"

#. {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}Ανθρώπινη καθοδήγηση{ph1} · Στόχος και κριτήρια αποδοχής"

#: website/public/blog/touhou-reconstruction/index.html:330
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Autonomy"
msgstr "Αυτονομία"

#: website/public/blog/touhou-reconstruction/index.html:331
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Agent"
msgstr "Βοηθός"

#. {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 "Επιλέξτε ένα πείραμα.{ph0}Προτείνετε μια υπόθεση."

#: website/public/blog/touhou-reconstruction/index.html:335
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Verification"
msgstr "Επαλήθευση"

#: website/public/blog/touhou-reconstruction/index.html:336
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Oracle"
msgstr "Αναφορά ελέγχου"

#. {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 "Δοκιμάστε με βάση μια{ph0}συγκεκριμένη αναφορά."

#: website/public/blog/touhou-reconstruction/index.html:340
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Repository"
msgstr "Αποθετήριο"

#: website/public/blog/touhou-reconstruction/index.html:341
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Working memory"
msgstr "Μνήμη εργασίας"

#. {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 "Κώδικας, στοιχεία,{ph0}έλεγχοι και μαθήματα."

#. {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 "Απόκλιση{ph0}{ph1}Αναθεωρήστε την υπόθεση{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 "Καλύτερο{ph0}{ph1}σημείο εκκίνησης{ph2}"

#: website/public/blog/touhou-reconstruction/index.html:350
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Reuse"
msgstr "Επαναχρησιμοποίηση"

#. {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}Επιτυχία{ph1} · Κρατήστε το αποτέλεσμα και τα στοιχεία του"

#: 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 ""
"Κάθε έργο αφήνει στο επόμενο ένα καλύτερο σημείο εκκίνησης. Αυτό "
"περιλαμβάνει και τη διόρθωση των ελέγχων όταν ανακαλύπτουμε ένα κενό."

#: website/public/blog/touhou-reconstruction/index.html:370
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "In this article"
msgstr "Σε αυτό το άρθρο"

#. {ph0}: <a href="#august">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:372
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}August 2026{ph1}"
msgstr "{ph0}Αύγουστος 2026{ph1}"

#. {ph0}: <a href="#th08">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:373
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}TH08: the continuation{ph1}"
msgstr "{ph0}TH08: η συνέχεια{ph1}"

#. {ph0}: <a href="#different-approaches">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:374
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}Two approaches{ph1}"
msgstr "{ph0}Δύο προσεγγίσεις{ph1}"

#. {ph0}: <a href="#th095">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:375
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}TH095: compounding{ph1}"
msgstr "{ph0}TH095: η εμπειρία συσσωρεύεται{ph1}"

#. {ph0}: <a href="#th04">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:376
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}TH04: across architectures{ph1}"
msgstr "{ph0}TH04: από αρχιτεκτονική σε αρχιτεκτονική{ph1}"

#. {ph0}: <a href="#semantic-reconstruction">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:377
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}From exact to readable{ph1}"
msgstr "{ph0}Από την ακρίβεια στην αναγνωσιμότητα{ph1}"

#. {ph0}: <a href="#industrial-shift">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:380
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}The industrial shift{ph1}"
msgstr "{ph0}Η βιομηχανική αλλαγή{ph1}"

#. {ph0}: <a href="#possibilities">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html:381
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}What becomes possible{ph1}"
msgstr "{ph0}Τι γίνεται δυνατό{ph1}"

#: website/public/blog/touhou-reconstruction/index.html:386
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "What changed in August 2026"
msgstr "Τι άλλαξε τον Αύγουστο του 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 ""
"Πριν από αυτή τη δουλειά, είχα κάνει πολλή χειροκίνητη αντίστροφη μηχανική. "
"Εξέταζα μια συνάρτηση μέχρι να έχω μια εξήγηση και έπειτα δοκίμαζα αυτή την "
"εξήγηση σε σχέση με το πρόγραμμα. Για να προχωρήσω, έπρεπε να αφιερώσω "
"περισσότερο δικό μου χρόνο στην επόμενη συνάρτηση. Έπρεπε επίσης να κρατάω "
"μια ολοένα μεγαλύτερη συνολική εικόνα στο μυαλό μου."

#: 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 ""
"Το μεγαλύτερο μέρος της δουλειάς μου στην αντίστροφη μηχανική αφορά "
"παιχνίδια. Τα ανακατασκευάζω ώστε να μπορεί να γίνει κατανοητή η συμπεριφορά"
" τους και τελικά να μεταφερθεί σε άλλη πλατφόρμα ή σε μια τροποποίηση. Αυτή "
"είναι η εμπειρία πίσω από το άρθρο. Η μέθοδος μπορεί να είναι χρήσιμη και "
"αλλού, αλλά κάθε πεδίο πρέπει να προσδιορίσει τι μπορεί να ελέγξει με βάση "
"μια αξιόπιστη αναφορά."

#: 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 ""
"Τον Αύγουστο του 2026 άρχισα να εξερευνώ σοβαρά την αντίστροφη μηχανική με "
"βοηθούς προγραμματισμού. Ήθελα να δω πόσο μακριά θα μπορούσε να φτάσει ένας "
"βοηθός με πρόσβαση στο πρόγραμμα και στα συνηθισμένα εργαλεία ανάπτυξης. Η "
"ανακατασκευή του Touhou μού έδωσε ένα σημαντικό έργο για να το διαπιστώσω."

#: 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 ""
"Η αρχική πρόοδος ήταν εντυπωσιακή. Μια διερεύνηση μπορούσε να συνεχίζεται "
"χωρίς να επιλέγω εγώ κάθε επιμέρους βήμα. Μια αποτυχημένη σύγκριση μπορούσε "
"να οδηγήσει τον βοηθό σε μια άλλη συνάρτηση που καλούσε την υπό εξέταση "
"συνάρτηση. Μπορούσε να γράψει ένα μικρό διαγνωστικό πρόγραμμα και να "
"χρησιμοποιήσει το αποτέλεσμα για να αποφασίσει τι θα δοκιμάσει στη συνέχεια."
" Αυτή η ελευθερία έκανε διαφορά: μπορούσα να αφιερώσω περισσότερη προσοχή "
"στην κατεύθυνση του έργου και στο αν οι έλεγχοι ήταν αξιόπιστοι."

#: 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 ""
"Ο ρυθμός ήταν αυτός που πρώτα τράβηξε την προσοχή μου. Έπειτα άρχισα να "
"αναρωτιέμαι τι θα διατηρούνταν πέρα από το τρέχον έργο. Θα ωφελούνταν το "
"επόμενο παιχνίδι από όλα όσα είχαμε μόλις μάθει;"

#: website/public/blog/touhou-reconstruction/index.html:423
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "TH08: building on human work"
msgstr "TH08: χτίζοντας πάνω στην ανθρώπινη δουλειά"

#. {ph0}: <a href="https://github.com/N0zoM1z0/th08">
#. {ph1}: </a>
#. {ph2}: <a href="https://github.com/GensokyoClub/th08" >
#. {ph3}: </a >
#: website/public/blog/touhou-reconstruction/index.html: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}, Imperishable Night, ξεκίνησε ως συνέχεια της "
"{ph2}ανακατασκευής του GensokyoClub{ph3}. Ο δημόσιος πηγαίος κώδικάς τους "
"μού έδωσε μια σημαντική βάση. Συνοδευόταν από γνώση για τη δημιουργία του "
"προγράμματος και από ένα ιστορικό συνεισφορών που διατήρησα στη συνέχεια του"
" έργου."

#: 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 ""
"Το εισαγμένο ιστορικό τελειώνει στο δημόσιο σημείο καταγραφής προόδου της "
"10ης Αυγούστου. Η δική μου ανεξάρτητη συνέχεια ξεκίνησε στις 13 Αυγούστου. "
"Μέχρι τις 19 Αυγούστου, το μητρώο κατέγραφε πηγαίο κώδικα για όλες τις 1,107"
" αναγνωρισμένες συναρτήσεις του παιχνιδιού."

#: 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 ""
"Μια λειτουργική μεταφορά της ανακατασκευής στο Linux καταχωρίστηκε σε commit"
" στις 24 Αυγούστου, περίπου έντεκα ημέρες μετά την έναρξη της συνέχειας. "
"Ακολούθησε μια έκδοση Web. Η εγγενής έκδοση Linux 64-bit κυκλοφόρησε στις 30"
" Αυγούστου."

#: 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 ""
"Αυτό που μου έκανε εντύπωση ήταν ότι η δουλειά είχε φτάσει σε ένα πρόγραμμα "
"που μπορούσε ο κόσμος να εκτελέσει. Για να φτάσουμε εκεί, έπρεπε να "
"ακολουθήσουμε προβλήματα πέρα από μια μεμονωμένη συνάρτηση. Ακόμη και όταν "
"δύο συναρτήσεις φαίνονταν σωστές μεμονωμένα, μπορούσαν κατά λάθος να "
"χρησιμοποιούν ξεχωριστά αντίγραφα κατάστασης που θα έπρεπε να είναι κοινή."

#. {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 ""
"Αυτό έκανε τους ελέγχους αναφοράς κεντρικό μέρος της δουλειάς. Τους αποκαλώ "
"{ph0}αναφορές ελέγχου (oracle){ph1}. Μια σύγκριση κώδικα μπορεί να μας πει "
"αν μια ανακατασκευασμένη συνάρτηση αναπαράγει τις αρχικές εντολές. Ένας "
"έλεγχος κατά την εκτέλεση μπορεί να μας πει αν μια διαδρομή που δοκιμάστηκε "
"φτάνει στην αναμενόμενη κατάσταση. Ο βοηθός προτείνει μια εξήγηση και τη "
"δοκιμάζει· μια απόκλιση του δίνει κάτι συγκεκριμένο να διερευνήσει."

#: website/public/blog/touhou-reconstruction/index.html:458
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "An exact match with the wrong constant"
msgstr "Ακριβής ταύτιση με λάθος σταθερά"

#: 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 ""
"Η αναφορά ελέγχου είναι λογισμικό που έγραψε κάποιος. Το TH08 μού θύμισε "
"ξεκάθαρα πόσα μπορεί να εξαρτώνται από αυτό το λογισμικό."

#. {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 ""
"Τον Σεπτέμβριο, ένα σφάλμα που αναφέρθηκε από μια μεταγενέστερη μεταφορά στο"
" Switch μάς οδήγησε στην αυτόματη συλλογή αντικειμένων. Ο ανακατασκευασμένος"
" πηγαίος κώδικας έλεγχε την ισχύ του παίκτη σε σχέση με το {ph0}. Το "
"πρωτότυπο χρησιμοποιούσε το {ph1}, το όριο μέγιστης ισχύος."

#: 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 ""
"Η ισχύς υπό κανονικές συνθήκες είναι μη αρνητική, οπότε ο έλεγχος ισχύος της"
" ανακατασκευής ουσιαστικά ικανοποιούνταν πάντα. Πάνω από τη γραμμή συλλογής,"
" το παιχνίδι μπορούσε να προσελκύει αντικείμενα χωρίς να απαιτεί μέγιστη "
"ισχύ. Οι άλλες εξαιρέσεις στη συνθήκη ήταν σωστές. Αυτή η μία σταθερά άλλαζε"
" τη συμπεριφορά."

#. {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}Κι όμως, η συνάρτηση είχε ήδη περάσει την ακριβή σύγκριση.{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 ""
"Μια επαναδημιουργία του προγράμματος μπορεί να τοποθετήσει μια σταθερά σε "
"διαφορετική διεύθυνση. Το εργαλείο σύγκρισης το λάμβανε υπόψη προσαρμόζοντας"
" τις διευθύνσεις στις μεταγλωττισμένες εντολές πριν τις συγκρίνει με τις "
"αρχικές. Όμως δεν έλεγχε ποτέ την τιμή κινητής υποδιαστολής που ήταν "
"αποθηκευμένη στη διεύθυνση της αναφοράς."

#. {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 ""
"Αυτό άφηνε ένα κενό στον έλεγχο. Μπορούσε να στρέψει την ανακατασκευασμένη "
"εντολή στο {ph0} του πρωτοτύπου, ενώ ο πηγαίος κώδικας εξακολουθούσε να "
"γράφει {ph1}. Τα bytes των εντολών ταυτίζονταν. Ο πηγαίος κώδικας σήμαινε "
"κάτι διαφορετικό."

#. {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 ""
"Η {ph0}διόρθωση της 2ας Σεπτεμβρίου{ph1} διόρθωσε τον πηγαίο κώδικα και "
"έκανε τη σύγκριση να ελέγχει τα πραγματικά bytes της σταθεράς στην οποία "
"γινόταν η αναφορά. Ένας {ph2}ευρύτερος έλεγχος{ph3} εξέτασε στη συνέχεια "
"1,548 αναφορές σε κυριολεκτικές τιμές κινητής υποδιαστολής. Εντόπισε άλλες "
"δώδεκα λανθασμένες αναφορές σε πέντε συναρτήσεις που είχαν γίνει αποδεκτές."

#: 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 ""
"Η σύγκριση ελέγχει πλέον κάθε τέτοια κυριολεκτική τιμή κινητής υποδιαστολής."
" Οι δοκιμές της περιλαμβάνουν σκόπιμα λανθασμένες τιμές, ώστε να "
"διασφαλίζεται ότι απορρίπτονται. Έπρεπε επίσης να επανεξετάσουμε "
"αποτελέσματα που είχαν περάσει τον πιο αδύναμο έλεγχο."

#. {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}Και η αναφορά ελέγχου χρειαζόταν ανακατασκευή.{ph1} Η επιδιόρθωσή της "
"ήταν μέρος της επιδιόρθωσης του παιχνιδιού."

#: 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 ""
"Αυτό έχει σημασία όταν η ομάδα είναι κυρίως ένα άτομο που δουλεύει με "
"βοηθούς. Δεν μπορώ να εξετάσω προσωπικά κάθε γραμμή που παράγουν, οπότε "
"μεγάλο μέρος της εμπιστοσύνης μου στηρίζεται στους ελέγχους τους. Ένα τυφλό "
"σημείο σε μια κοινή αναφορά ελέγχου μπορεί να επηρεάσει πολλές διερευνήσεις "
"πριν το προσέξω. Πρέπει να καταλαβαίνω τι επαληθεύει πραγματικά ο ελεγκτής "
"και να τον δοκιμάζω με περιπτώσεις που θα έπρεπε να αποτυγχάνουν."

#. {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 ""
"Καθώς συνεχιζόταν η δουλειά, αυτοί οι έλεγχοι έγιναν μέρος του αποθετηρίου. "
"Το ίδιο συνέβη με τους λόγους των αλλαγών στον πηγαίο κώδικα και με τις "
"σημειώσεις που επέτρεπαν σε μια μεταγενέστερη συνεδρία να συνεχίσει από εκεί"
" όπου είχε σταματήσει μια προηγούμενη. {ph0}Το αποθετήριο γινόταν η μνήμη "
"εργασίας του έργου.{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}Μια επιτυχημένη δέσμη εργασιών μάς έδινε και ανακτημένο κώδικα και "
"καλύτερο περιβάλλον για την επόμενη δέσμη.{ph1}"

#: website/public/blog/touhou-reconstruction/index.html:540
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Two different ideas of reconstruction"
msgstr "Δύο διαφορετικές αντιλήψεις για την ανακατασκευή"

#. {ph0}: <a
#. href="https://web.archive.org/web/20260909051514/https://github.com/GensokyoClub/th08#important-
#. notice" >
#. {ph1}: </a >
#: website/public/blog/touhou-reconstruction/index.html: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 ""
"Το {ph0}δημόσιο README{ph1} του GensokyoClub εκφράζει ρητά τη διαφωνία του "
"με αυτό το είδος δουλειάς. Η ανακοίνωση αναφέρει ότι η περαιτέρω ανάπτυξη θα"
" γίνεται ιδιωτικά μέχρι την ολοκλήρωση. Ένα απόσπασμα γράφει:"

#: 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 ""
"Η άνοδος απατεώνων (απομεταγλωττίσεις και μεταφορές σε άλλες πλατφόρμες με "
"τεχνητή νοημοσύνη) σε αυτόν τον χώρο, που παίρνουν υλικό από τη δουλειά μας,"
" δημιουργεί κακή εικόνα για τις μελλοντικές προσπάθειες απομεταγλώττισης…"

#: 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 ""
"Η ανακοίνωση περιγράφει επίσης την ψυχολογική επιβάρυνση των υπευθύνων "
"συντήρησης. Η πολιτική συνεισφορών τους αποκλείει pull requests που έχουν "
"παραχθεί κυρίως με τεχνητή νοημοσύνη. Έχουν αφιερώσει τον ελεύθερο χρόνο "
"τους σε δύσκολη δουλειά και αυτή η δουλειά βοήθησε να γίνει δυνατή η δική "
"μου συνέχεια. Σέβομαι την προσπάθεια πίσω από αυτή. Η διαφωνία που θέλω να "
"συζητήσω αφορά το πώς πρέπει να προχωρά η ανακατασκευή και πώς πρέπει να "
"κρίνεται μια συνεισφορά."

#: 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 ""
"Στη χειροκίνητη ροή εργασίας που γνώριζα, η κατανόηση μιας συνάρτησης και η "
"ανακατασκευή της συνήθως ανατίθενταν στο ίδιο άτομο. Ένα έργο στηριζόταν σε "
"μεγάλο βαθμό στην τεχνογνωσία αυτού του ατόμου. Η εμπιστοσύνη στον "
"συνεισφέροντα είχε σημασία, επειδή τόσο μεγάλο μέρος του συλλογισμού γινόταν"
" όσο εργαζόταν."

#: 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 ""
"Τα υπάρχοντα έργα διατηρούν ήδη γνώση στον πηγαίο κώδικα και στα εργαλεία "
"δημιουργίας τους. Αυτό που άλλαξε για μένα ήταν ότι ένας βοηθός μπορούσε να "
"χρησιμοποιήσει αυτή τη γνώση για να συνεχίσει μόνος του την επόμενη "
"διερεύνηση."

#: 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 ""
"Στη δική μου συνέχεια, εγώ αποφασίζω τον στόχο και το πρότυπο αποδοχής ενός "
"αποτελέσματος. Ο βοηθός έχει μεγάλη ελευθερία να διερευνήσει. Η ανακατασκευή"
" που προτείνει πρέπει στη συνέχεια να αντέξει στους σχετικούς ελέγχους. Θέλω"
" ένας άλλος άνθρωπος να μπορεί να εξετάσει γιατί επιλέξαμε μια υλοποίηση, "
"ακόμη κι αν ο βοηθός έκανε το μεγαλύτερο μέρος της δουλειάς."

#: 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 ""
"Αυτή η μετάβαση μπορεί να είναι δύσκολη. Χρόνια προσεκτικής δουλειάς μπορεί "
"να γίνουν το θεμέλιο για μια συνέχεια που προχωρά πολύ γρηγορότερα. Αυτό "
"εγείρει ουσιαστικά ερωτήματα σχετικά με την αναγνώριση της συνεισφοράς. "
"Αλλάζει επίσης όσα πρέπει να γνωρίζουν οι υπεύθυνοι συντήρησης πριν "
"αποδεχτούν μια συνεισφορά."

#: 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 ""
"Η βιομηχανική αναλογία με βοηθά να το σκεφτώ. Σε μια τέχνη, μεγάλο μέρος της"
" διαδικασίας εξαρτάται από την ικανότητα του ανθρώπου που την εκτελεί. Οι "
"μηχανές αλλάζουν το πού χρειάζεται αυτή η ικανότητα. Κάποιος πρέπει ακόμη να"
" σχεδιάζει τη διαδικασία και να αναγνωρίζει πότε η έξοδός της είναι "
"λανθασμένη. Διαφορετικές κοινότητες μπορούν να επιλέξουν πόσο από αυτή την "
"αλλαγή θέλουν να υιοθετήσουν."

#: 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 ""
"Η δική μου επιλογή είναι να συνεχίσω ανοιχτά, αναγνωρίζοντας την "
"κληρονομημένη δουλειά και διατηρώντας το ιστορικό της. Θέλω η νέα δουλειά να"
" μπορεί να εξεταστεί. Αυτό μας δίνει έναν τρόπο να αναρωτηθούμε πόσο μακριά "
"μπορεί να φτάσει αυτή η προσέγγιση και να μάθουμε από όσα πάνε στραβά στη "
"διαδρομή."

#. {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 ""
"Πηγή: η {ph0}ανακοίνωση στο README{ph1} του GensokyoClub, που ελέγχθηκε στις"
" 10 Οκτωβρίου 2026, και η {ph2}πολιτική συνεισφορών{ph3} του. Η παράθεση "
"είναι συντομευμένο απόσπασμα. Οι {ph4}αναφορές συντελεστών και "
"προέλευσης{ph5} του TH08 καταγράφουν το όριο από το οποίο ξεκινά η συνέχεια."

#: website/public/blog/touhou-reconstruction/index.html:624
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "TH095: experience starts compounding"
msgstr "TH095: η εμπειρία αρχίζει να συσσωρεύεται"

#. {ph0}: <a href="https://github.com/N0zoM1z0/th095">
#. {ph1}: </a>
#: website/public/blog/touhou-reconstruction/index.html: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}, Shoot the Bullet, έκανε την αξία αυτής της εμπειρίας "
"πολύ πιο εύκολα ορατή. Το αποθετήριό του ξεκίνησε στις 29 Αυγούστου με μηδέν"
" επιβεβαιωμένες συναρτήσεις του παιχνιδιού στο μητρώο. Έπρεπε ακόμη να "
"μάθουμε το παιχνίδι. Γνωρίζαμε όμως ήδη πολύ περισσότερα για το πώς να "
"ξεκινήσουμε μια ανακατασκευή και πώς να τη συνεχίσουμε."

#: 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 ""
"Μέχρι τις 7 Σεπτεμβρίου, και οι 697 αναγνωρισμένες συναρτήσεις του "
"παιχνιδιού είχαν πηγαίο κώδικα. Μέχρι τις 8 Σεπτεμβρίου, 696 είχαν γίνει "
"αποδεκτές ως ακριβείς συγκρίσεις. Ολόκληρο το πρόγραμμα συνδέθηκε στις 9 "
"Σεπτεμβρίου. Η ανακατασκευή για Windows i386 καταγράφηκε ως λειτουργική για "
"παιχνίδι στις 10 Σεπτεμβρίου, περίπου δώδεκα ημέρες μετά την αρχικοποίηση."

#: 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 ""
"Αυτό το βρήκα πιο συναρπαστικό από την ταχύτητα του πρώτου έργου. Ένας "
"καινούριος στόχος μπορούσε να ωφεληθεί από τη δουλειά που είχε γίνει σε άλλο"
" παιχνίδι. Η εμπειρία ήταν ήδη παρούσα στα εργαλεία και στον τρόπο οργάνωσης"
" του έργου."

#: 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 ""
"Για παράδειγμα, το TH08 μάς είχε μάθει να δίνουμε από νωρίς προσοχή στο "
"συναρμολογημένο πρόγραμμα. Αν αρκετές ανακτημένες συναρτήσεις εξαρτώνται από"
" την ίδια κατάσταση, οι μεμονωμένες συγκρίσεις τους αφήνουν ένα σημαντικό "
"ερώτημα ανοιχτό. Πρέπει να τις δούμε να λειτουργούν μαζί. Αυτό το μάθημα "
"βοήθησε να διαμορφωθεί η προσέγγισή μας για τη δημιουργία ολόκληρου του "
"προγράμματος 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 ""
"Ένα μάθημα που μένει στο μυαλό μου είναι χρήσιμο όσο βρίσκομαι εκεί. Μόλις "
"γίνει ένας έλεγχος που μπορεί να εκτελέσει μια άλλη συνεδρία, μπορεί να "
"συνεχίσει να βοηθά αφού εγώ προχωρήσω σε κάτι άλλο. Ο επόμενος βοηθός μπορεί"
" να χρησιμοποιήσει το αποτέλεσμα χωρίς να επαναλάβει τη διερεύνηση που "
"οδήγησε σε αυτό."

#: 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 ""
"Το σφάλμα με τις κυριολεκτικές τιμές κινητής υποδιαστολής ανήκει επίσης σε "
"αυτή τη μνήμη. Εξηγεί γιατί ο έλεγχος μιας αναφοράς απαιτεί και έλεγχο των "
"δεδομένων πίσω από αυτή. Η διατήρηση αυτής της διόρθωσης μαζί με τον κώδικα "
"βοηθά τα μεταγενέστερα έργα να μην κληρονομήσουν το τυφλό σημείο του παλιού "
"ελέγχου."

#. {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}Η μέθοδος γίνεται μέρος του αρχικού υλικού για το επόμενο "
"παιχνίδι.{ph1} Μπορούμε να αφιερώσουμε περισσότερο από τον κόπο του επόμενου"
" έργου σε ό,τι είναι πραγματικά νέο στον στόχο του."

#: 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 ""
"Το ίδιο όφελος είναι διαθέσιμο σε ανθρώπους που συμμετέχουν αργότερα. "
"Μπορούν να εξετάσουν μια απόφαση και να εκτελέσουν ξανά τον έλεγχό της πριν "
"συνεχίσουν τη δουλειά. Δεν χρειάζεται να ανασυνθέσουν ολόκληρο το ιστορικό "
"του έργου για να μάθουν γιατί ο πηγαίος κώδικας έχει τη μορφή που έχει."

#: 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: η ροή εργασίας αντέχει σε μια διαφορετική αρχιτεκτονική"

#. {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, μετέφερε αυτή τη δουλειά στην εποχή του"
" DOS για PC-98. Ο στόχος ήταν πλέον ένα περιβάλλον 16-bit με τέσσερα "
"προγράμματα που συνεργάζονταν. Η κατανόηση της συμπεριφοράς του υλικού του "
"απαιτούσε διαφορετικά στοιχεία από εκείνα των παιχνιδιών Windows. Η "
"υπάρχουσα {ph2}δουλειά του ReC98{ph3} μάς έδωσε και εδώ πολύτιμη γνώση και "
"πηγαίο υλικό."

#: 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 ""
"Η ανακατασκευή για DOS λειτουργεί πλέον. Στις χειροκίνητες δοκιμές μου, "
"έπαιξα ολόκληρες διαδρομές Normal μέχρι το τέλος τους και έλεγξα τις "
"αποθηκεύσεις. Η τρέχουσα δουλειά είναι μια εγγενής μεταφορά σε 64-bit. Η "
"δημιουργία μιας λειτουργικής έκδοσης DOS πρώτα δίνει σε αυτή τη μεταφορά μια"
" αναφορά."

#: 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 ""
"Η αρχιτεκτονική άλλαξε όσα χρειαζόταν να διερευνήσουμε. Άλλαξε επίσης τον "
"μεταγλωττιστή και το περιβάλλον εκτέλεσης με τα οποία ελέγχαμε τη δουλειά "
"μας. Όμως ο βοηθός μπορούσε ακόμη να ακολουθεί ένα ερώτημα μέχρι να φτάσει "
"σε αποτέλεσμα και να αφήνει αυτό το αποτέλεσμα να καθοδηγεί το επόμενο "
"πείραμα."

#: 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 ""
"Ας δούμε τη μετάβαση από το παιχνίδι σε ένα τέλος. Πρέπει να γνωρίζουμε ποια"
" κατάσταση περνά αυτό το όριο και ποιο πρόγραμμα είναι υπεύθυνο γι' αυτή. "
"Αυτό είναι κάτι που μπορούμε να διερευνήσουμε σε σχέση με το προϊόν για DOS."
" Μόλις υπάρχουν τα στοιχεία και οι έλεγχοι, ένας βοηθός μπορεί να "
"επεξεργαστεί το ερώτημα όπως έκανε σε έναν τίτλο για 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 ""
"Γι' αυτό το TH04 έχει σημασία για το επιχείρημα. Μια σημαντική αλλαγή "
"πλατφόρμας δεν μας ανάγκασε να ξεκινήσουμε από την αρχή με έναν νέο τρόπο "
"δουλειάς. Η αρχιτεκτονική όριζε το πρόβλημα· η ροή εργασίας εξακολουθούσε να"
" μας δίνει έναν τρόπο να το λύσουμε."

#: 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 ""
"Για τη μεταφορά σε 64-bit, μπορούμε πλέον να εξετάζουμε τη νέα υλοποίηση σε "
"σχέση με τη συμπεριφορά που έχει ήδη ανακτηθεί στο DOS. Η γνώση από την "
"ανακατασκευή δίνει στη μεταφορά μια βάση για να χτιστεί πάνω της."

#. {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 ""
"Κατάσταση του έργου στις 10 Οκτωβρίου 2026: {ph0}ανακατασκευή για DOS και "
"χειροκίνητες δοκιμές{ph1} · {ph2}μεταφορά σε 64-bit{ph3}. Η μεταφορά "
"παραμένει υπό ανάπτυξη."

#: website/public/blog/touhou-reconstruction/index.html:735
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "From exact code to readable code"
msgstr "Από τον ακριβή κώδικα στον αναγνώσιμο κώδικα"

#: 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 ""
"Μόλις μια ανακατασκευή λειτουργεί, θέλω να μπορεί να την καταλάβει και "
"κάποιος άλλος."

#: 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 ""
"Για μένα, η assembly και οι ακατέργαστες μετατοπίσεις μνήμης μπορεί να "
"μοιάζουν με παλιούς φίλους. Καταλαβαίνω ότι αυτός είναι ένας κάπως "
"ασυνήθιστος ορισμός του «αναγνώσιμου». Οι περισσότεροι θα προτιμούσαν να "
"ακολουθούν τη λογική του παιχνιδιού χωρίς να κρατούν στο μυαλό τους τη "
"διάταξη μνήμης του εκτελέσιμου."

#. {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 ""
"Εδώ έρχεται η {ph0}σημασιολογική ανακατασκευή{ph1}. Ένα ανακτημένο πεδίο "
"μπορεί ακόμη να είναι γνωστό κυρίως από τη μετατόπισή του. Παρακολουθούμε "
"πώς το χρησιμοποιεί το παιχνίδι μέχρι να μπορούμε να εξηγήσουμε τον ρόλο "
"του. Έπειτα μπορούμε να του δώσουμε ένα ουσιαστικό όνομα και έναν τύπο που "
"ταιριάζει στα στοιχεία. Κρατάμε το σκεπτικό μαζί με τον πηγαίο κώδικα, ώστε "
"ο επόμενος άνθρωπος να μπορεί να δει από πού προήλθε αυτή η ερμηνεία."

#: 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 ""
"Αυτό γίνεται ιδιαίτερα σημαντικό για μια μεταφορά σε άλλη πλατφόρμα. Μια "
"απόλυτη διεύθυνση μου λέει πού βρισκόταν κάτι στο παλιό εκτελέσιμο. Βοηθά "
"ελάχιστα μια υλοποίηση 64-bit να αποφασίσει ποιο αντικείμενο πρέπει να έχει "
"την ευθύνη αυτής της κατάστασης. Για να μεταφέρουμε τη συμπεριφορά με "
"ασφάλεια, πρέπει να ανακτήσουμε τη σχέση πίσω από την παλιά πρόσβαση στη "
"μνήμη."

#: website/public/blog/touhou-reconstruction/index.html:761
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "The order I now use is:"
msgstr "Η σειρά που χρησιμοποιώ πλέον είναι:"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/blog/touhou-reconstruction/index.html: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}Ανακτήστε μια ακριβή βάση αναφοράς.{ph1} Μεταγλωττίστε τα "
"ανακατασκευασμένα μέρη με τον ιστορικό μεταγλωττιστή. Συγκρίνετε τον σχετικό"
" κώδικα και τα δεδομένα με το αρχικό εκτελέσιμο. Καταγράψτε τις διαφορές που"
" δεν έχουν επιλυθεί, ώστε η επόμενη φάση να έχει σαφές σημείο εκκίνησης."

#. {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}Δημιουργήστε το πρόγραμμα και παίξτε το στην αρχική πλατφόρμα.{ph1} "
"Συνδέστε αυτά τα μέρη στο πραγματικό πρόγραμμα χρησιμοποιώντας την αρχική "
"αρχιτεκτονική και τον αρχικό μεταγλωττιστή. Δοκιμάστε σημαντικές διαδρομές "
"του παιχνιδιού. Εδώ μπορούμε να βρούμε προβλήματα κοινής κατάστασης ή "
"αρχικοποίησης που διέφυγαν από μια μεμονωμένη σύγκριση συνάρτησης."

#. {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}Ανακατασκευάστε τη σημασιολογία με βάση και τις δύο αναφορές.{ph1} "
"Πάρτε ένα συνεκτικό μέρος του παιχνιδιού κάθε φορά και προσδιορίστε τι "
"σημαίνει ο ανακτημένος πηγαίος κώδικάς του. Βελτιώστε την αναπαράστασή του, "
"διατηρώντας τις ακριβείς συγκρίσεις και τη λειτουργική ιστορική έκδοση του "
"παιχνιδιού."

#. {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}Κάντε τη σύγχρονη μεταφορά σε άλλη πλατφόρμα.{ph1} Μεταφέρετε την "
"τεκμηριωμένη συμπεριφορά στο νέο περιβάλλον, όπως σε μια εγγενή έκδοση "
"64-bit. Το ανακατασκευασμένο παιχνίδι της αρχικής πλατφόρμας παραμένει "
"αναφορά για τη σύγκριση της συμπεριφοράς της μεταφοράς."

#. {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 ""
"Η λειτουργική έκδοση του παιχνιδιού από το δεύτερο στάδιο γίνεται μια "
"{ph0}δεύτερη αναφορά ελέγχου{ph1} κατά το τρίτο. Η πρώτη αναφορά ελέγχου "
"εξετάζει αν ο αλλαγμένος πηγαίος κώδικάς μας εξακολουθεί να αναπαράγει τον "
"σχετικό αρχικό κώδικα και τα δεδομένα. Η δεύτερη ελέγχει ότι το "
"ανακατασκευασμένο πρόγραμμα εξακολουθεί να δημιουργείται και να "
"συμπεριφέρεται σωστά στις διαδρομές που δοκιμάζουμε."

#: 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 ""
"Εντοπίζουν διαφορετικά λάθη. Μια αλλαγή τύπου μπορεί να αλλάξει τις "
"παραγόμενες εντολές. Μια αλλαγή στην ευθύνη διαχείρισης της κατάστασης "
"μπορεί να αφήσει δύο μέρη του παιχνιδιού να χρησιμοποιούν διαφορετικά "
"αντίγραφά της. Διατηρώντας διαθέσιμους και τους δύο ελέγχους, δίνουμε στον "
"βοηθό μια συγκεκριμένη αστοχία να διερευνήσει πριν προχωρήσει περισσότερο σε"
" μια αναδιάρθρωση."

#: 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 ""
"Ένα όνομα χρειάζεται δικά του στοιχεία. Μια ακριβής σύγκριση δεν μπορεί να "
"μας πει αν ένα πεδίο σημαίνει πράγματι «διάρκεια ατρωσίας». Πρέπει να το "
"προσδιορίσουμε από τον τρόπο με τον οποίο το παιχνίδι το γράφει και το "
"χρησιμοποιεί. Αν η σημασία παραμένει αβέβαιη, ένα ουδέτερο όνομα βοηθά τον "
"επόμενο αναγνώστη περισσότερο από μια εικασία διατυπωμένη με σιγουριά."

#. {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 ""
"Μάθαμε αυτή τη σειρά μέσα από τα έργα. Το TH08 είχε ήδη λειτουργικές "
"μεταφορές σε άλλες πλατφόρμες πριν από ορισμένους μεταγενέστερους ελέγχους "
"του στην ιστορική πλατφόρμα. Αυτό έκανε κάποια ελαττώματα πιο δύσκολα ορατά."
" Η {ph0}τρέχουσα ροή εργασίας του Factory{ph1} βάζει πρώτα τη δημιουργία του"
" προγράμματος στην αρχική πλατφόρμα, ώστε η σημασιολογική εργασία να μπορεί "
"να τη χρησιμοποιεί ως αναφορά πριν αρχίσει η μεταφορά."

#. {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}Η ακριβής ανακατασκευή μάς δίνει μια αναφορά. Η σημασιολογική "
"ανακατασκευή κάνει την ανακτημένη γνώση αξιοποιήσιμη.{ph1} Μια μεταφορά σε "
"άλλη πλατφόρμα μπορεί έπειτα να βασιστεί και στις δύο."

#: website/public/blog/touhou-reconstruction/index.html:835
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "What makes this an industrial shift"
msgstr "Τι κάνει αυτή την αλλαγή βιομηχανική"

#: 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 ""
"Αυτά τα έργα άλλαξαν το πού αφιέρωνα την προσοχή μου. Μόλις οι βοηθοί "
"μπορούσαν να προχωρούν μεγάλο μέρος μιας διερεύνησης, η βελτίωση του "
"περιβάλλοντος εργασίας τους έγινε ένα από τα πιο χρήσιμα πράγματα που "
"μπορούσα να κάνω. Ένα καλύτερο εργαλείο μπορούσε να βοηθήσει σε κάθε "
"μεταγενέστερη συνάρτηση που το χρειαζόταν."

#: 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 ""
"Η αυτονομία έχει σημασία εδώ. Το χρήσιμο επόμενο βήμα γίνεται συχνά σαφές "
"μόνο μετά από ένα αποτυχημένο πείραμα. Ένας βοηθός χρειάζεται αρκετή "
"ελευθερία για να ακολουθήσει αυτό το αποτέλεσμα προς μια απροσδόκητη "
"κατεύθυνση. Αν πρέπει να περιμένει να του ορίσω κάθε βήμα, μεγάλο μέρος της "
"δουλειάς παραμένει δεμένο με τη δική μου προσοχή."

#: 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 ""
"Περιμένω ότι ο βοηθός θα κάνει λανθασμένες υποθέσεις. Αυτό που έχει σημασία "
"είναι αν μπορούμε να τις δοκιμάσουμε και να μάθουμε από το αποτέλεσμα. Ένας "
"αποτυχημένος έλεγχος θα πρέπει να τον βοηθά να καταλάβει το λάθος αρκετά "
"καλά ώστε να προσπαθήσει ξανά. Εγώ εξακολουθώ να πρέπει να αποφασίζω αν τα "
"συσσωρευμένα στοιχεία στηρίζουν ένα ορόσημο του έργου."

#: 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 δίνει στον βοηθό πρόσβαση σε εργαλεία ανάλυσης. Ένα ερώτημα για το "
"ποια συνάρτηση καλεί μια άλλη μπορεί να οδηγήσει απευθείας στην εξέταση της "
"συνάρτησης που την καλεί. Το έργο ανακατασκευής παρέχει τον μεταγλωττιστή "
"και τους δικούς του ελέγχους αναφοράς. Ο βοηθός μπορεί να τους "
"χρησιμοποιήσει για να δοκιμάσει τον πηγαίο κώδικα που προτείνει και να δει "
"πού αντέχει η εξήγησή του."

#: 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 ""
"Το σφάλμα του TH08 δείχνει γιατί αυτοί οι έλεγχοι αξίζουν ξεχωριστή προσοχή "
"κατά την ανάπτυξή τους. Όταν η ίδια σύγκριση χρησιμοποιείται σε εκατοντάδες "
"συναρτήσεις, ένα κενό της μπορεί να εξαπλωθεί πολύ περισσότερο από ένα λάθος"
" σε μία υλοποίηση. Η δοκιμή του ελεγκτή βελτιώνει την ανατροφοδότηση που "
"είναι διαθέσιμη σε όλη αυτή τη μεταγενέστερη δουλειά."

#. {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 ""
"Η βιομηχανική αναλογία έχει εδώ ένα χρήσιμο ιστορικό παράδειγμα. Οι Boulton "
"και Watt εισήγαγαν έναν {ph0}ενδείκτη ατμομηχανής το 1796{ph1} για να "
"βοηθήσουν στη ρύθμιση των βαλβίδων της μηχανής. Μια καταγραφική έκδοση "
"αποτύπωνε την πίεση κατά τη διαδρομή του εμβόλου. Έκανε την εσωτερική "
"συμπεριφορά της μηχανής διαθέσιμη για εξέταση. Τα εργαλεία σύγκρισής μας "
"υπηρετούν παρόμοιο σκοπό: μας επιτρέπουν να εξετάζουμε τι κάνουν οι "
"μηχανισμοί όσο τους βελτιώνουμε."

#. {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}Βρισκόμαστε στα πρώτα στάδια αυτής της βιομηχανικής αλλαγής.{ph1} "
"Μεγάλο μέρος της υποδομής είναι ακόμη ανώριμο. Οι βοηθοί μπορούν να "
"κινούνται γρηγορότερα από όσο σχεδιάστηκαν να υποστηρίζουν οι έλεγχοί μας, "
"οπότε η διαδικασία πρέπει να εξελίσσεται μαζί τους. Όταν βρίσκουμε ένα "
"ελάττωμα σε κοινό εργαλείο, πρέπει να το διορθώνουμε και να επανεξετάζουμε "
"τα αποτελέσματα που επηρέασε. Το επόμενο έργο μπορεί τότε να κληρονομήσει "
"ένα ισχυρότερο εργαλείο."

#: 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 ""
"Υπάρχει επίσης ένα πρακτικό όριο σε κάθε συζήτηση. Θα τελειώσει πριν "
"ολοκληρωθεί μια μεγάλη ανακατασκευή. Το αποθετήριο πρέπει να επιτρέπει σε "
"μια άλλη συνεδρία να συνεχίσει χωρίς να χαθεί ο λόγος της τελευταίας "
"απόφασης."

#. {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 ""
"Το {ph0}Touhou Reconstruction Factory{ph1} προέκυψε από αυτή την ανάγκη. "
"Δίνει στα έργα έναν κοινό τρόπο να μεταφέρουν τους ελέγχους και τα μαθήματά "
"τους παρακάτω. Η δουλειά σε ένα παιχνίδι μπορεί να βελτιώσει τις αρχικές "
"συνθήκες για ένα άλλο."

#: 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 ""
"Αυτό δίνει νόημα στη βιομηχανική αναλογία για μένα. Η εμπειρία αρχίζει να "
"γίνεται μέρος εργαλείων που μπορούν να χρησιμοποιήσουν άλλοι. Η βελτίωση "
"αυτών των εργαλείων αλλάζει το πόσα μπορεί να κάνει ο επόμενος άνθρωπος — ή "
"ο επόμενος βοηθός."

#: website/public/blog/touhou-reconstruction/index.html:918
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "The projects we can now consider"
msgstr "Τα έργα που μπορούμε πλέον να εξετάσουμε"

#: 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 ""
"Ο ρυθμός έχει σημασία επειδή αλλάζει την απόφαση να ξεκινήσω. Η αντίστροφη "
"μηχανική ενός παιχνιδιού μπορεί να ήταν συναρπαστική και, παρ' όλα αυτά, να "
"απαιτούσε περισσότερη δική μου προσοχή από όση μπορούσα ρεαλιστικά να του "
"δώσω. Πολλά έργα θα έμεναν ιδέες."

#: 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 ""
"Τώρα μπορώ να δω έναν τρόπο να συνεχίζεται ένα τέτοιο έργο μέσα από "
"επαναλαμβανόμενες διερευνήσεις. Μια λειτουργική ανακατασκευή κάνει πιο "
"πρακτική τη μεταφορά σε άλλη πλατφόρμα. Η ανάκτηση αναγνώσιμης σημασιολογίας"
" διευκολύνει κάποιον άλλο να εξερευνήσει μια τροποποίηση. Ο κόπος που "
"αφιερώθηκε στην κατανόηση του παιχνιδιού μπορεί να συνεχίσει να αποδίδει "
"αφού εκτελεστεί η πρώτη έκδοση."

#. {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 ""
"Πλέον κοιτάζω ένα άγνωστο πρόγραμμα και ρωτώ: {ph0}ποια πρόσβαση, "
"ανατροφοδότηση και συσσωρευμένη γνώση θα επέτρεπαν σε έναν βοηθό να δουλέψει"
" αξιόπιστα πάνω σε αυτό;{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 ""
"Αυτό το ερώτημα με κάνει να εξετάζω έργα που παλιότερα θα άφηνα στην άκρη. "
"Το καθένα μπορεί να βελτιώσει τον τρόπο με τον οποίο προσεγγίζουμε το "
"επόμενο. Θέλω να συνεχίσω να εξερευνώ πόσο μακριά μπορεί να μας πάει αυτό."

#: website/public/blog/touhou-reconstruction/index.html:947
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Project milestones and sources"
msgstr "Ορόσημα έργων και πηγές"

#: 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 ""
"Οι ημερομηνίες περιγράφουν καταγεγραμμένα σημεία προόδου των έργων, τα οποία"
" ελέγχθηκαν σε σχέση με το δημόσιο ιστορικό του GitHub στις 10 Οκτωβρίου "
"2026. Ο χρόνος που πέρασε είναι ημερολογιακός χρόνος μεταξύ commits. Η "
"παρουσία πηγαίου κώδικα, οι ακριβείς συγκρίσεις, η δημιουργία ενός "
"προγράμματος και ένα αποτέλεσμα εκτέλεσης δηλώνουν διαφορετικό ορόσημο το "
"καθένα."

#. {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ης Αυγούστου{ph3}, {ph4}μητρώο πηγαίου "
"κώδικα της 19ης Αυγούστου{ph5}, {ph6}μεταφορά στο Linux της 24ης "
"Αυγούστου{ph7}, {ph8}έκδοση Web της 26ης Αυγούστου{ph9} και {ph10}κυκλοφορία"
" Linux 64-bit της 30ής Αυγούστου{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ης Αυγούστου{ph3}, {ph4}μητρώο "
"πηγαίου κώδικα της 7ης Σεπτεμβρίου{ph5}, {ph6}συγκρίσεις της 8ης "
"Σεπτεμβρίου{ph7}, {ph8}σύνδεση της 9ης Σεπτεμβρίου{ph9} και {ph10}καταγραφή "
"λειτουργικής έκδοσης παιχνιδιού της 10ης Σεπτεμβρίου{ph11}."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th04/blob/bb9faca54e2eb3c0d6c757c75d59ac29d2cd5e93/docs/RE_HANDOFF.md"
#. >
#. {ph3}: </a >
#: website/public/blog/touhou-reconstruction/index.html: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ης Οκτωβρίου{ph3} καταγράφει τη "
"λειτουργική ανακατασκευή για DOS, τις πλήρεις δοκιμές διαδρομών Normal από "
"τον υπεύθυνο συντήρησης και την τρέχουσα φάση 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:{ph1} {ph2}το αναφερθέν σφάλμα "
"αυτόματης συλλογής{ph3}, {ph4}η διόρθωση πηγαίου κώδικα και σύγκρισης{ph5} "
"και {ph6}ο πλήρης έλεγχος κυριολεκτικών τιμών κινητής υποδιαστολής{ph7}."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th08/blob/d2a00f4acb4a13916e07a00bd13f714961714628/docs/SEMANTIC_PLAYBOOK.md"
#. >
#. {ph3}: </a >
#. {ph4}: <a href="https://github.com/N0zoM1z0/touhou-reconstruction-
#. factory/blob/717e1b8560783ed17a39fdf159d30aa16bb307a7/docs/semantic-
#. reconstruction.md" >
#. {ph5}: </a >
#: website/public/blog/touhou-reconstruction/index.html: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}Σημασιολογική ανακατασκευή:{ph1} {ph2}ο οδηγός αναγνωσιμότητας του "
"TH08{ph3} και {ph4}η σειρά φάσεων και οι δύο διαδρομές επικύρωσης του "
"Factory{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}Βιομηχανική ιστορία:{ph1} {ph2}η καταγραφή του ενδείκτη ατμομηχανής από"
" το Science Museum Group{ph3} περιγράφει την εισαγωγή του το 1796 και τον "
"μηχανισμό καταγραφής πίεσης."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <a href="https://github.com/N0zoM1z0/touhou-reconstruction-
#. factory/blob/038b6bed51d273c8b3680553b6f43e1b97d19bd1/docs/agent-
#. autonomy.md" >
#. {ph3}: </a >
#. {ph4}: <a href="https://github.com/N0zoM1z0/touhou-reconstruction-
#. factory/blob/038b6bed51d273c8b3680553b6f43e1b97d19bd1/docs/knowledge-
#. base.md" >
#. {ph5}: </a >
#: website/public/blog/touhou-reconstruction/index.html: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}Μέθοδος:{ph1} τα έγγραφα του Factory για την {ph2}αυτονομία των "
"βοηθών{ph3} και τη {ph4}γνώση που μεταφέρεται μεταξύ παιχνιδιών{ph5} "
"διατηρούν τις αρχές εργασίας και τα μαθήματα."

#. {ph0}: <a class="text-link" href="../">
#. {ph1}: </a>
#. {ph2}: <a class="text-link" href="../../showcase/th04/" >
#. {ph3}: </a >
#: website/public/blog/touhou-reconstruction/index.html:1061
#, python-brace-format
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "{ph0}More articles{ph1} · {ph2}Explore a TH04 investigation{ph3}"
msgstr ""
"{ph0}Περισσότερα άρθρα{ph1} · {ph2}Εξερευνήστε μια διερεύνηση του TH04{ph3}"

#: website/public/blog/touhou-reconstruction/index.html:6
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Reverse Engineering’s Industrial Revolution — REA"
msgstr "Η βιομηχανική επανάσταση της αντίστροφης μηχανικής — REA"

#: website/public/blog/touhou-reconstruction/index.html:7
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid ""
"N0zoM1z0 reflects on manual reverse engineering, Touhou reconstruction with "
"AI agents, and how knowledge compounds across TH08, TH095 and PC-98 TH04."
msgstr ""
"Ο N0zoM1z0 αναλογίζεται τη χειροκίνητη αντίστροφη μηχανική, την ανακατασκευή"
" του Touhou με βοηθούς τεχνητής νοημοσύνης και το πώς συσσωρεύεται η γνώση "
"μεταξύ των TH08, TH095 και PC-98 TH04."

#: website/public/blog/touhou-reconstruction/index.html:355
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Experience carried between projects"
msgstr "Εμπειρία που μεταφέρεται μεταξύ έργων"

#: website/public/blog/touhou-reconstruction/index.html:369
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/blog/touhou-reconstruction/index.html:384
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Touhou reconstruction essay"
msgstr "Δοκίμιο για την ανακατασκευή του Touhou"

#: website/public/blog/touhou-reconstruction/index.html:1086
msgctxt "page:blog/touhou-reconstruction/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/examples/dino-lab/index.html:108
msgctxt "page:examples/dino-lab/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <span>
#. {ph3}: </span>
#: website/public/examples/dino-lab/index.html:200
#, python-brace-format
msgctxt "page:examples/dino-lab/index.html"
msgid "{ph0}Home{ph1}{ph2}/{ph3}Dinosaur speed lab"
msgstr "{ph0}Αρχική{ph1}{ph2}/{ph3}Εργαστήριο ταχύτητας του δεινοσαύρου"

#: website/public/examples/dino-lab/index.html:203
msgctxt "page:examples/dino-lab/index.html"
msgid "Inspect → rebuild → change"
msgstr "Εξετάστε → ανακατασκευάστε → αλλάξτε"

#: website/public/examples/dino-lab/index.html:204
msgctxt "page:examples/dino-lab/index.html"
msgid "Rebuild the dinosaur’s speed rule."
msgstr "Ανακατασκευάστε τον κανόνα ταχύτητας του δεινοσαύρου."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <mark class="prose-highlight">
#. {ph3}: </mark>
#: website/public/examples/dino-lab/index.html: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 ""
"Για να αναπαραγάγετε την επιτάχυνση του παιχνιδιού, βρείτε πρώτα τον κανόνα "
"που ελέγχει την ταχύτητά του. {ph0}Το REA επέστρεψε το script που "
"εκτελείται·{ph1} χρησιμοποιήσαμε τον κανόνα του για να φτιάξουμε αυτό το "
"μικρό παιχνίδι με {ph2}ρυθμιζόμενη ταχύτητα.{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 "Σε αυτή τη σελίδα"

#. {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}Παίξτε και αλλάξτε την ταχύτητα{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}Διαβάστε τον κανόνα που ανακτήθηκε{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}Ελέγξτε την ανακατασκευή{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}Δοκιμάστε την ανάλυση{ph1}"

#: website/public/examples/dino-lab/index.html:224
msgctxt "page:examples/dino-lab/index.html"
msgid "Play and change the speed"
msgstr "Παίξτε και αλλάξτε την ταχύτητα"

#: 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 ""
"Πατήστε Έναρξη και πηδήξτε πάνω από τον κάκτο. Μετακινήστε το ρυθμιστικό για"
" να δοκιμάσετε πιο αργό ή πιο γρήγορο παιχνίδι· έτσι επιλέγετε σταθερή "
"ταχύτητα. Επιλέξτε τον κανόνα που ανακτήθηκε για να ξεκινήσετε από το 6 και "
"να επιταχύνετε ξανά σταδιακά."

#: website/public/examples/dino-lab/index.html:231
msgctxt "page:examples/dino-lab/index.html"
msgid "Play the reconstruction"
msgstr "Παίξτε την ανακατασκευή"

#: website/public/examples/dino-lab/index.html:263
msgctxt "page:examples/dino-lab/index.html"
msgid "Play"
msgstr "Έναρξη"

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

#: website/public/examples/dino-lab/index.html:267
msgctxt "page:examples/dino-lab/index.html"
msgid "Restart"
msgstr "Επανεκκίνηση"

#: website/public/examples/dino-lab/index.html:270
msgctxt "page:examples/dino-lab/index.html"
msgid "Speed"
msgstr "Ταχύτητα"

#: website/public/examples/dino-lab/index.html:280
msgctxt "page:examples/dino-lab/index.html"
msgid "Use the recovered acceleration rule"
msgstr "Χρήση του ανακτημένου κανόνα επιτάχυνσης"

#: 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 "Αρχικός κανόνας: εκκίνηση από 6 και σταδιακή αύξηση προς το 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 ""
"Μετακινήστε το ρυθμιστικό για να ορίσετε τη δική σας ταχύτητα. Πατήστε Space"
" ή Άλμα για να περάσετε έναν κάκτο."

#: 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 ""
"Ενεργοποιήστε τη JavaScript για να παίξετε την ανακατασκευή. Ο παραπάνω "
"κώδικας και η εξήγηση παραμένουν αναγνώσιμα."

#: website/public/examples/dino-lab/index.html:300
msgctxt "page:examples/dino-lab/index.html"
msgid "Read the script REA returned"
msgstr "Διαβάστε το script που επέστρεψε το REA"

#. {ph0}: <a href="https://wayou.github.io/t-rex-runner/" >
#. {ph1}: </a >
#. {ph2}: <code>index.js</code>
#: website/public/examples/dino-lab/index.html: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 ""
"Εξετάσαμε με το REA {ph0}την έκδοση του wayou για προγράμματα περιήγησης, "
"που προέρχεται από το Chromium{ph1}. Επέστρεψε το φορτωμένο {ph2}, μαζί με "
"αυτή τη διακλάδωση στη συνάρτηση ενημέρωσης του παιχνιδιού:"

#: website/public/examples/dino-lab/index.html:311
msgctxt "page:examples/dino-lab/index.html"
msgid "REA · selected script source"
msgstr "REA · επιλεγμένος πηγαίος κώδικας του script"

#. {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 ""
"Οι ρυθμίσεις είναι {ph0}, {ph1} και {ph2}. Το παιχνίδι εκτελεί αυτή τη "
"διακλάδωση σε κάθε ενημέρωση χωρίς σύγκρουση."

#: 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 "Χρησιμοποιήστε τον ίδιο κανόνα στο νέο παιχνίδι"

#. {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 "Ανακατασκευή · {ph0}"

#: 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 "Αντιγραφή"

#: 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 ""
"Το μικρό παιχνίδι χρησιμοποιεί αυτή τη συνάρτηση για την αυτόματη "
"επιτάχυνση. Μετακινώντας το ρυθμιστικό, επιλέγετε σταθερή ταχύτητα. Η "
"σχεδίαση, η φυσική των αλμάτων και οι έλεγχοι σύγκρουσης ορθογωνίων είναι "
"νέος κώδικας για αυτό το εκπαιδευτικό παιχνίδι· η προσομοίωση εκτελεί 60 "
"ενημερώσεις ανά δευτερόλεπτο."

#. {ph0}: <a href="../../assets/dino-speed.js" download >
#. {ph1}: </a >
#. {ph2}: <a href="../../assets/dino-demo.js">
#. {ph3}: </a>
#: website/public/examples/dino-lab/index.html: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}Κατεβάστε τον κανόνα ταχύτητας{ph1} · {ph2}Διαβάστε τον κώδικα του "
"παιχνιδιού{ph3}"

#: website/public/examples/dino-lab/index.html:355
msgctxt "page:examples/dino-lab/index.html"
msgid "Check the reconstruction"
msgstr "Ελέγξτε την ανακατασκευή"

#: 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 ""
"Καλέσαμε τη συνάρτηση ενημέρωσης του αρχικού παιχνιδιού με απενεργοποιημένα "
"τα εμπόδια και τον αυτόματο προγραμματισμό εκτέλεσης. Συγκρίνετε τις "
"καταγεγραμμένες ταχύτητες με μια νέα εκτέλεση του ανακτημένου κανόνα."

#: website/public/examples/dino-lab/index.html:365
msgctxt "page:examples/dino-lab/index.html"
msgid "Updates"
msgstr "Ενημερώσεις"

#: website/public/examples/dino-lab/index.html:366
msgctxt "page:examples/dino-lab/index.html"
msgid "Original game"
msgstr "Αρχικό παιχνίδι"

#: website/public/examples/dino-lab/index.html:367
msgctxt "page:examples/dino-lab/index.html"
msgid "Reconstructed rule"
msgstr "Ανακατασκευασμένος κανόνας"

#: website/public/examples/dino-lab/index.html:394
msgctxt "page:examples/dino-lab/index.html"
msgid "Run the speed check"
msgstr "Εκτέλεση ελέγχου ταχύτητας"

#: 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 ""
"Οι τιμές στρογγυλοποιούνται σε τρία δεκαδικά ψηφία. Η διακλάδωση ελέγχει την"
" ταχύτητα πριν από την πρόσθεση, οπότε η τελευταία αύξηση μπορεί να την "
"ανεβάσει λίγο πάνω από το 13."

#: website/public/examples/dino-lab/index.html:403
msgctxt "page:examples/dino-lab/index.html"
msgid "Try the analysis yourself"
msgstr "Δοκιμάστε την ανάλυση μόνοι σας"

#. {ph0}: <a href="../../get-started/">
#. {ph1}: </a>
#: website/public/examples/dino-lab/index.html:405
#, python-brace-format
msgctxt "page:examples/dino-lab/index.html"
msgid "{ph0}Set up REA{ph1} with your coding agent."
msgstr "{ph0}Ρυθμίστε το REA{ph1} με τον βοηθό προγραμματισμού σας."

#. {ph0}: <a href="../../guides/browser/#prepare" >
#. {ph1}: </a >
#. {ph2}: <code>https://wayou.github.io/t-rex-runner/</code>
#: website/public/examples/dino-lab/index.html: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 ""
"Ακολουθήστε τα {ph0}βήματα σύνδεσης με το πρόγραμμα περιήγησης{ph1}, "
"χρησιμοποιώντας το {ph2} ως URL της σελίδας."

#: 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 ""
"Δώστε στον βοηθό σας το URL της σελίδας και το τοπικό endpoint "
"αποσφαλμάτωσης και έπειτα αντιγράψτε αυτή την οδηγία."

#. {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}Ο βοηθός προγραμματισμού σας"

#. {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}Χρησιμοποιήστε το REA για να εξετάσετε αυτό το παιχνίδι με "
"τον δεινόσαυρο. Γιατί επιταχύνει; Δείξτε τον κανόνα ταχύτητας και έπειτα "
"φτιάξτε μια μικρή έκδοση με ρυθμιζόμενη ταχύτητα.{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 ""
"Κάντε μια επόμενη ερώτηση: {ph0}«Πού υπολογίζεται το ύψος του άλματος; "
"Προσθέστε ένα ρυθμιστικό ύψους άλματος στη νέα έκδοση.»{ph1}"

#. {ph0}: <a href="https://github.com/wayou/t-rex-
#. runner/blob/5455bfa408ec6b707c7300ff194b7390733a766d/index.js#L565-L571" >
#. {ph1}: </a >
#. {ph2}: <a href="../../assets/licenses/dinosaur.txt" >
#. {ph3}: </a >
#: website/public/examples/dino-lab/index.html: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 ""
"Πηγή: {ph0}ο κώδικας ταχύτητας που εξετάστηκε{ph1}, Chromium Authors. "
"{ph2}Πνευματικά δικαιώματα και άδεια BSD{ph3}. Το REA 4.1.0 εξέτασε την "
"έκδοση HTTP που εκτελούνταν στο Chrome 150."

#: website/public/examples/dino-lab/index.html:6
msgctxt "page:examples/dino-lab/index.html"
msgid "Chrome Dinosaur Game: Rebuild Its Speed Rule — REA"
msgstr ""
"Παιχνίδι δεινοσαύρου του Chrome: ανακατασκευάστε τον κανόνα ταχύτητας — REA"

#: website/public/examples/dino-lab/index.html:7
msgctxt "page:examples/dino-lab/index.html"
msgid ""
"Read the dinosaur game’s speed rule with REA, rebuild it, then change the "
"speed and play."
msgstr ""
"Διαβάστε με το REA τον κανόνα ταχύτητας του παιχνιδιού με τον δεινόσαυρο, "
"ανακατασκευάστε τον και έπειτα αλλάξτε την ταχύτητα και παίξτε."

#: website/public/examples/dino-lab/index.html:222
msgctxt "page:examples/dino-lab/index.html"
msgid "Dinosaur speed reconstruction"
msgstr "Ανακατασκευή της ταχύτητας του δεινοσαύρου"

#: 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 ""
"Μικρό παιχνίδι με δεινόσαυρο. Χρησιμοποιήστε το κουμπί Άλμα ή πατήστε Space "
"όσο το παιχνίδι έχει την εστίαση."

#: website/public/examples/dino-lab/index.html:328
msgctxt "page:examples/dino-lab/index.html"
msgid "Copy reconstructed speed rule"
msgstr "Αντιγραφή του ανακατασκευασμένου κανόνα ταχύτητας"

#: website/public/examples/dino-lab/index.html:427
msgctxt "page:examples/dino-lab/index.html"
msgid "Copy dinosaur analysis prompt"
msgstr "Αντιγραφή της οδηγίας ανάλυσης του δεινοσαύρου"

#: website/public/examples/dino-lab/index.html:481
msgctxt "page:examples/dino-lab/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/faq/index.html:107
msgctxt "page:faq/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {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}Αρχική{ph1} / Συχνές ερωτήσεις"

#: website/public/faq/index.html:200
msgctxt "page:faq/index.html"
msgid "REA FAQ."
msgstr "Συχνές ερωτήσεις για το REA."

#: website/public/faq/index.html:201
msgctxt "page:faq/index.html"
msgid "Setup, updates, analysis and troubleshooting."
msgstr "Ρύθμιση, ενημερώσεις, ανάλυση και αντιμετώπιση προβλημάτων."

#: website/public/faq/index.html:205
msgctxt "page:faq/index.html"
msgid "Topics"
msgstr "Θέματα"

#. {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}Ρύθμιση και ενημερώσεις{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}Ανάλυση{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}Αντιμετώπιση προβλημάτων{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}Δεδομένα και κοινοποίηση{ph1}"

#: website/public/faq/index.html:219
msgctxt "page:faq/index.html"
msgid "Setup and updates"
msgstr "Ρύθμιση και ενημερώσεις"

#: website/public/faq/index.html:222
msgctxt "page:faq/index.html"
msgid "How do I install REA?"
msgstr "Πώς εγκαθιστώ το REA;"

#. {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 ""
"Με διαθέσιμα τα {ph0} και npm, εκτελέστε τη ρύθμιση, επιλέξτε τον βοηθό "
"προγραμματισμού σας και ελέγξτε τις προτεινόμενες αλλαγές."

#: website/public/faq/index.html:230
msgctxt "page:faq/index.html"
msgid "Terminal · agent setup"
msgstr "Τερματικό · ρύθμιση βοηθού"

#: 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 "Αντιγραφή"

#. {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 ""
"Η ρύθμιση καταχωρίζει τη σύνδεση MCP του REA και εγκαθιστά την αντίστοιχη "
"δεξιότητα διερεύνησης. Μόλις ολοκληρωθεί, επανεκκινήστε τον βοηθό σας και "
"δώστε του μια διαδρομή στόχου και μια ερώτηση. {ph0}Ακολουθήστε τον οδηγό "
"ρύθμισης{ph1} για τα προαπαιτούμενα και την πρώτη σας ανάλυση."

#: website/public/faq/index.html:251
msgctxt "page:faq/index.html"
msgid "Which coding agents can use REA?"
msgstr "Ποιοι βοηθοί προγραμματισμού μπορούν να χρησιμοποιήσουν το 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 ""
"Κάθε βοηθός που υποστηρίζει τοπικούς διακομιστές MCP. Η ρύθμιση περιλαμβάνει"
" τα Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI, Windsurf, Devin,"
" OpenCode, Antigravity, GitHub Copilot CLI, Command Code, Grok Build, OMP "
"και VS Code. Η σύνδεση του Grok Bot προστίθεται από τη συνομιλία του."

#. {ph0}: <a href="../get-started/#agent">
#. {ph1}: </a>
#: website/public/faq/index.html:259
#, python-brace-format
msgctxt "page:faq/index.html"
msgid "{ph0}Connect your coding agent{ph1}."
msgstr "{ph0}Συνδέστε τον βοηθό προγραμματισμού σας{ph1}."

#: website/public/faq/index.html:264
msgctxt "page:faq/index.html"
msgid "How do I update REA?"
msgstr "Πώς ενημερώνω το 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 κυκλοφορεί συχνά νέες εκδόσεις, με διορθώσεις σφαλμάτων. Αν "
"εγκαταστήσατε το CLI μέσω npm:"

#: website/public/faq/index.html:271
msgctxt "page:faq/index.html"
msgid "Terminal · installed CLI"
msgstr "Τερματικό · εγκατεστημένο 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 ""
"Ακολουθήστε την εντολή ανανέωσης της ρύθμισης που εμφανίζει η ενημέρωση. Αν "
"ρυθμίσατε τον βοηθό σας μέσω {ph0}, εκτελέστε:"

#: website/public/faq/index.html:289
msgctxt "page:faq/index.html"
msgid "Terminal · refresh agent setup"
msgstr "Τερματικό · ανανέωση ρύθμισης βοηθού"

#. {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 ""
"Ελέγξτε τις αλλαγές και επανεκκινήστε τον βοηθό σας. Η σύνδεσή του με το REA"
" ορίζει συγκεκριμένη έκδοση του πακέτου, οπότε η ανανέωση της ρύθμισης τον "
"κάνει να χρησιμοποιεί τη νέα έκδοση. Για μεμονωμένες εντολές CLI, "
"χρησιμοποιήστε {ph0} και έπειτα την εντολή."

#: website/public/faq/index.html:309
msgctxt "page:faq/index.html"
msgid "Is installing the skill from skills.sh enough?"
msgstr "Αρκεί η εγκατάσταση της δεξιότητας από το skills.sh;"

#. {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 ""
"Η δεξιότητα παρέχει στον βοηθό σας οδηγίες διερεύνησης. Εκτελέστε τη "
"{ph0}ρύθμιση του REA{ph1} για να συνδέσετε τον διακομιστή MCP και να "
"εγκαταστήσετε την αντίστοιχη δεξιότητα, και μετά επανεκκινήστε τον βοηθό σας"
" ώστε να μπορεί να καλεί τα εργαλεία."

#: website/public/faq/index.html:323
msgctxt "page:faq/index.html"
msgid "Analysis"
msgstr "Ανάλυση"

#: website/public/faq/index.html:326
msgctxt "page:faq/index.html"
msgid "What can I analyze with REA?"
msgstr "Τι μπορώ να αναλύσω με το REA;"

#: website/public/faq/index.html:327
msgctxt "page:faq/index.html"
msgid "Start with the kind of software you have:"
msgstr "Ξεκινήστε από το είδος του λογισμικού που διαθέτετε:"

#. {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}Εκτελέσιμα και βιβλιοθήκες εγγενούς κώδικα{ph1}: συναρτήσεις, assembly,"
" ψευδοκώδικας και αναφορές."

#. {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}Εφαρμογές JavaScript και Electron{ph1}: μονάδες, εισαγωγές, IPC και "
"θέσεις στον πηγαίο κώδικα."

#. {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}Σελίδες στον browser{ph1}: scripts, αιτήματα και παρατηρήσεις κατά την "
"εκτέλεση."

#. {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 διαθέτει επίσης ροές εργασίας για assemblies διαχειριζόμενου κώδικα, "
"Android APK, υλικολογισμικό και συσκευασμένους πόρους. {ph0}Δείτε τις "
"μελέτες{ph1} για αναλυτικά παραδείγματα διερεύνησης."

#: website/public/faq/index.html:352
msgctxt "page:faq/index.html"
msgid "Do I need Hopper, Ghidra or IDA?"
msgstr "Χρειάζομαι Hopper, Ghidra ή 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 ""
"Η εις βάθος ανάλυση εγγενούς κώδικα χρησιμοποιεί ένα από αυτά. Η στατική "
"εξέταση JavaScript και .NET λειτουργεί με τα παρεχόμενα αρχεία και δεν "
"χρειάζεται μηχανή ανάλυσης εγγενούς κώδικα."

#. {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 ""
"Συνδέστε την υπάρχουσα εγκατάσταση Ghidra ή IDA ή αφήστε τη ρύθμιση να "
"εντοπίσει το Hopper και να προτείνει εγκατάσταση. Το σύστημα όπου εκτελείται"
" το REA και ο στόχος καθορίζουν ποιος πάροχος ανάλυσης μπορεί να "
"χρησιμοποιηθεί. {ph0}Ρυθμίστε την ανάλυση εγγενούς κώδικα{ph1}."

#: website/public/faq/index.html:366
msgctxt "page:faq/index.html"
msgid "Can I use REA without a coding agent?"
msgstr "Μπορώ να χρησιμοποιήσω το REA χωρίς βοηθό προγραμματισμού;"

#: 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 ""
"Ναι. Το CLI χρησιμοποιεί τις ίδιες ροές ανάλυσης. Για μια τοπική εφαρμογή "
"JavaScript ή Electron:"

#: website/public/faq/index.html:373
msgctxt "page:faq/index.html"
msgid "Terminal · static application analysis"
msgstr "Τερματικό · στατική ανάλυση εφαρμογής"

#. {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 ""
"Αντικαταστήστε τη διαδρομή με έναν φάκελο αποσυμπιεσμένης εφαρμογής ή ένα "
"αρχείο ASAR. {ph0}Χρησιμοποιήστε το CLI{ph1} για τις επιλογές εγκατάστασης."

#: website/public/faq/index.html:393
msgctxt "page:faq/index.html"
msgid "What code does REA return?"
msgstr "Τι κώδικα επιστρέφει το REA;"

#: 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 ""
"Η ανάλυση εγγενούς κώδικα επιστρέφει assembly και ψευδοκώδικα, με κλήσεις, "
"αναφορές και σχετικές σταθερές. Η ανάλυση JavaScript επιστρέφει μονάδες, τις"
" σχέσεις τους και θέσεις στον πηγαίο κώδικα."

#. {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 ""
"Ο βοηθός σας χρησιμοποιεί αυτά τα ευρήματα για να εξηγήσει τη συμπεριφορά ή "
"να γράψει και να δοκιμάσει μια υλοποίηση. Ο {ph0}υπολογισμός του DX-"
"Ball{ph1} και ο {ph2}έλεγχος flag του CTF{ph3} δείχνουν πώς λειτουργεί αυτή "
"η διαδικασία."

#: website/public/faq/index.html:410
msgctxt "page:faq/index.html"
msgid "What should I ask my agent?"
msgstr "Τι να ζητήσω από τον βοηθό μου;"

#: 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 ""
"Δώστε του έναν τοπικό στόχο και μία συμπεριφορά προς διερεύνηση. Για μια "
"εφαρμογή JavaScript ή Electron:"

#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
#. {ph1}: <i>
#. {ph2}: </i>
#. {ph3}: <i>
#. {ph4}: </i>
#. {ph5}: <i>
#. {ph6}: </i>
#. {ph7}: </span >
#: website/public/faq/index.html: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}Ο βοηθός προγραμματισμού σας"

#. {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}Χρησιμοποιήστε το REA για να αναλύσετε το {ph3} και να "
"εξηγήσετε πώς εξάγει δεδομένα. Δείξτε τον σχετικό κώδικα και τις θέσεις του "
"στον πηγαίο κώδικα.{ph4}{ph5}{ph6}"

#. {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 ""
"Αντικαταστήστε τη διαδρομή με τον στόχο σας. Οι {ph0}οδηγοί{ph1} παρέχουν "
"προτροπές για παραδείγματα εγγενούς κώδικα, Electron και browser."

#: website/public/faq/index.html:450
msgctxt "page:faq/index.html"
msgid "Troubleshooting"
msgstr "Αντιμετώπιση προβλημάτων"

#: website/public/faq/index.html:453
msgctxt "page:faq/index.html"
msgid "Why can't my agent see the REA tools?"
msgstr "Γιατί ο βοηθός μου δεν βλέπει τα εργαλεία του 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 ""
"Επανεκκινήστε ή επανασυνδέστε τον βοηθό σας μετά τη ρύθμιση. Ελέγξτε την "
"καταχώριση του REA με το {ph0}· για το Codex:"

#: website/public/faq/index.html:460
msgctxt "page:faq/index.html"
msgid "Terminal · check one client"
msgstr "Τερματικό · έλεγχος μίας εφαρμογής"

#. {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 ""
"Αντικαταστήστε το {ph0} με το αναγνωριστικό της εφαρμογής σας, όπως {ph1} ή "
"{ph2}. Αν η αναφορά δείχνει ότι η καταχώριση λείπει ή είναι παλιά, εκτελέστε"
" τη ρύθμιση για αυτή την εφαρμογή:"

#: website/public/faq/index.html:480
msgctxt "page:faq/index.html"
msgid "Terminal · repair one client's setup"
msgstr "Τερματικό · επιδιόρθωση ρύθμισης μίας εφαρμογής"

#. {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 ""
"Ελέγξτε το σχέδιο αλλαγών και επανεκκινήστε την εφαρμογή. Αν η καταχώριση "
"είναι σωστή αλλά τα εργαλεία εξακολουθούν να λείπουν, ελέγξτε το σφάλμα "
"σύνδεσης MCP της εφαρμογής. {ph0}Περισσότερα διαγνωστικά ρύθμισης{ph1}."

#: website/public/faq/index.html:500
msgctxt "page:faq/index.html"
msgid "Do I need to start Hopper first?"
msgstr "Πρέπει να ξεκινήσω πρώτα το 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 ξεκινά το Hopper όταν το χρειάζεται μια λειτουργία. Στο macOS, "
"ολοκληρώστε την αρχική επιλογή λειτουργίας επίδειξης ή ενεργοποίησης άδειας "
"πριν από ανάλυση χωρίς επίβλεψη. {ph0}Δείτε τη ρύθμιση παρόχου ανάλυσης "
"εγγενούς κώδικα{ph1}."

#: website/public/faq/index.html:510
msgctxt "page:faq/index.html"
msgid "What should I do if I hit a bug?"
msgstr "Τι να κάνω αν συναντήσω σφάλμα;"

#. {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}Ενημερώστε το REA{ph1}, επανεκκινήστε τον βοηθό σας και επαναλάβετε την"
" ίδια εργασία. Μια πρόσφατη έκδοση μπορεί να έχει ήδη διορθώσει το πρόβλημα."

#. {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 ""
"Αν επιμένει, {ph0}ανοίξτε ένα issue{ph1} με την έκδοση του REA, το "
"λειτουργικό σύστημα, το είδος στόχου, τα βήματα αναπαραγωγής και την έξοδο "
"σφάλματος. Συμπεριλάβετε το όνομα του παρόχου ανάλυσης όταν το πρόβλημα "
"αφορά ανάλυση εγγενούς κώδικα."

#: website/public/faq/index.html:529
msgctxt "page:faq/index.html"
msgid "Data and sharing"
msgstr "Δεδομένα και κοινοποίηση"

#: website/public/faq/index.html:532
msgctxt "page:faq/index.html"
msgid "Does REA upload my app?"
msgstr "Το REA ανεβάζει την εφαρμογή μου;"

#: 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 αναλύει τους στόχους στο μηχάνημά σας. Ο βοηθός σας λαμβάνει τα "
"αποτελέσματα, στα οποία εφαρμόζεται η πολιτική δεδομένων του παρόχου του "
"μοντέλου του."

#: website/public/faq/index.html:540
msgctxt "page:faq/index.html"
msgid "How can I share an example or contribute?"
msgstr "Πώς μπορώ να μοιραστώ ένα παράδειγμα ή να συνεισφέρω;"

#. {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 ""
"Έχετε ένα χρήσιμο παράδειγμα με το REA; Θα χαρούμε να το δούμε. Μοιραστείτε "
"τον στόχο, την ερώτησή σας, τα ευρήματα και τον τρόπο που τα ελέγξατε σε ένα"
" {ph0}issue{ph1} ή {ph2}pull request{ph3}. Σύντομα αποσπάσματα κώδικα και "
"εικόνες βοηθούν τους άλλους να παρακολουθήσουν τη διερεύνηση."

#. {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 ""
"Οι αναφορές σφαλμάτων, τα αιτήματα για νέες δυνατότητες και οι βελτιώσεις "
"τεκμηρίωσης και κώδικα είναι επίσης ευπρόσδεκτα. Μπορείτε επίσης να "
"συζητήσετε ένα παράδειγμα στην {ph0}κοινότητα{ph1}."

#: website/public/faq/index.html:6
msgctxt "page:faq/index.html"
msgid "REA FAQ: Setup, Updates and Troubleshooting"
msgstr ""
"Συχνές ερωτήσεις για το REA: Ρύθμιση, ενημερώσεις και αντιμετώπιση "
"προβλημάτων"

#: website/public/faq/index.html:7
msgctxt "page:faq/index.html"
msgid ""
"Answers to common REA questions: installation, updates, analysis tools, "
"coding agents, troubleshooting and sharing examples."
msgstr ""
"Απαντήσεις σε συχνές ερωτήσεις για το REA: εγκατάσταση, ενημερώσεις, "
"εργαλεία ανάλυσης, βοηθοί προγραμματισμού, αντιμετώπιση προβλημάτων και "
"κοινοποίηση παραδειγμάτων."

#: website/public/faq/index.html:204
msgctxt "page:faq/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/faq/index.html:213
msgctxt "page:faq/index.html"
msgid "Frequently asked questions about REA"
msgstr "Συχνές ερωτήσεις για το REA"

#: website/public/faq/index.html:231
msgctxt "page:faq/index.html"
msgid "Copy REA setup command"
msgstr "Αντιγραφή εντολής ρύθμισης του REA"

#: website/public/faq/index.html:272
msgctxt "page:faq/index.html"
msgid "Copy REA update command"
msgstr "Αντιγραφή εντολής ενημέρωσης του REA"

#: website/public/faq/index.html:290
msgctxt "page:faq/index.html"
msgid "Copy agent setup refresh command"
msgstr "Αντιγραφή εντολής ανανέωσης ρύθμισης βοηθού"

#: website/public/faq/index.html:374
msgctxt "page:faq/index.html"
msgid "Copy REA CLI analysis command"
msgstr "Αντιγραφή εντολής ανάλυσης με το CLI του REA"

#: website/public/faq/index.html:421
msgctxt "page:faq/index.html"
msgid "Copy example analysis prompt"
msgstr "Αντιγραφή παραδείγματος προτροπής ανάλυσης"

#: website/public/faq/index.html:461
msgctxt "page:faq/index.html"
msgid "Copy client diagnosis command"
msgstr "Αντιγραφή εντολής διάγνωσης εφαρμογής"

#: website/public/faq/index.html:481
msgctxt "page:faq/index.html"
msgid "Copy scoped setup command"
msgstr "Αντιγραφή εντολής ρύθμισης για συγκεκριμένη εφαρμογή"

#: website/public/faq/index.html:579
msgctxt "page:faq/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/first-investigation/index.html:107
msgctxt "page:first-investigation/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {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}Αρχική{ph1} / Η πρώτη σας διερεύνηση"

#. {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 "Μάθετε πού καταλήγουν{ph0}οι εξαγόμενες σημειώσεις."

#: 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 ""
"Χρησιμοποιήστε το REA για να εξετάσετε μια μικρή εφαρμογή, να ακολουθήσετε "
"τη λειτουργία του κουμπιού Export notes και να ελέγξετε μία λεπτομέρεια "
"μόνοι σας."

#. {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 ""
"Ένα παρεχόμενο παράδειγμα · {ph0} και npm · Ο βοηθός προγραμματισμού σας"

#: website/public/first-investigation/index.html:214
msgctxt "page:first-investigation/index.html"
msgid "In this exercise"
msgstr "Σε αυτή την άσκηση"

#. {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. Ρυθμίστε το REA{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. Ρωτήστε για την εξαγωγή{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. Ακολουθήστε την απάντηση{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. Ελέγξτε μια πρόβλεψη{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. Κάντε άλλη μια ερώτηση{ph1}"

#: website/public/first-investigation/index.html:225
msgctxt "page:first-investigation/index.html"
msgid "1. Connect your agent to REA"
msgstr "1. Συνδέστε τον βοηθό σας με το REA"

#. {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 ""
"Χρησιμοποιήστε έναν βοηθό προγραμματισμού όπως το Claude Code, το Codex ή το"
" Cursor. Θα χρειαστείτε {ph0} και npm· ο {ph1}οδηγός ρύθμισης αναφέρει τις "
"υποστηριζόμενες εκδόσεις{ph2}."

#. {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}Ο βοηθός προγραμματισμού σας"

#: 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 "Αντιγραφή"

#. {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}Εγκαταστήστε το REA και συνδέστε το με αυτόν τον βοηθό "
"προγραμματισμού χρησιμοποιώντας το {ph3}. Δείξτε μου το σχέδιο ρύθμισης για "
"έγκριση και μετά επαληθεύστε την εγκατάσταση.{ph4}{ph5}{ph6}"

#: website/public/first-investigation/index.html:258
msgctxt "page:first-investigation/index.html"
msgid "Or run this command in your terminal:"
msgstr "Ή εκτελέστε αυτή την εντολή στο τερματικό σας:"

#: 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 ""
"Ελέγξτε το σχέδιο, εγκρίνετε τη ρύθμιση και επανεκκινήστε τον βοηθό σας. "
"Έχετε ήδη συνδεθεί; Συνεχίστε παρακάτω."

#: website/public/first-investigation/index.html:276
msgctxt "page:first-investigation/index.html"
msgid "2. Ask where the CSV is written"
msgstr "2. Ρωτήστε πού γράφεται το CSV"

#. {ph0}: <strong>
#. {ph1}: </strong>
#: website/public/first-investigation/index.html: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 ""
"Το παράδειγμα είναι μια εφαρμογή Electron με έξι αρχεία και ένα κουμπί "
"{ph0}Export notes{ph1}. Ο βοηθός σας μπορεί να εξετάσει τον κώδικά της χωρίς"
" να εγκαταστήσει ή να εκκινήσει το Electron."

#. {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}Κατεβάστε το {ph3} σε έναν νέο φάκελο παραδείγματος και "
"αποσυμπιέστε το. Χρησιμοποιήστε το REA για να βρείτε τι συμβαίνει όταν πατάω"
" Export notes. Δείξτε πού γράφεται το {ph4}, ποια πεδία περιέχει και τα "
"σχετικά αρχεία και γραμμές.{ph5}{ph6}{ph7}"

#: 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 ""
"Ο βοηθός σας κατεβάζει τα αρχεία και δίνει τον αποσυμπιεσμένο φάκελο στο REA"
" για εξέταση."

#. {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}Λήψη παραδείγματος 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 ""
"Αν ο βοηθός σας δεν μπορεί να κατεβάσει αρχεία, αποσυμπιέστε αυτό το αρχείο "
"μόνοι σας. Δώστε του τη διαδρομή προς τον φάκελο {ph0} και την ίδια ερώτηση "
"για την εξαγωγή."

#: website/public/first-investigation/index.html:331
msgctxt "page:first-investigation/index.html"
msgid "3. Follow the answer back to the code"
msgstr "3. Ακολουθήστε την απάντηση πίσω στον κώδικα"

#: 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 "Αναζητήστε μια σύντομη εξήγηση με αναφορές σε αρχεία και γραμμές:"

#. {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 ""
"Το κουμπί στέλνει ένα μήνυμα {ph0}. Η κύρια διεργασία μορφοποιεί τις "
"σημειώσεις ως CSV και γράφει το {ph1} στον φάκελο λήψεων του χρήστη. Οι "
"στήλες είναι {ph2} και {ph3}."

#: website/public/first-investigation/index.html:342
msgctxt "page:first-investigation/index.html"
msgid "From the button to the file writer"
msgstr "Από το κουμπί στην εγγραφή του αρχείου"

#. {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}Σελίδα · {ph1}{ph2}{ph3}Export notes{ph4}{ph5}Καλεί το {ph6}.{ph7}"

#. {ph0}: <span class="flow-label" >
#. {ph1}: <span translate="no">preload.js</span>
#. {ph2}: </span >
#. {ph3}: <span class="flow-node">
#. {ph4}: <code>notes:export</code>
#. {ph5}: </span >
#. {ph6}: <span class="flow-note" >
#. {ph7}: </span >
#: website/public/first-investigation/index.html: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}Γέφυρα · {ph1}{ph2}{ph3}{ph4}{ph5}{ph6}Στέλνει ένα ονομασμένο μήνυμα "
"στην κύρια διεργασία.{ph7}"

#. {ph0}: <span class="flow-label" >
#. {ph1}: <span translate="no">main.js</span>
#. {ph2}: </span >
#. {ph3}: <span class="flow-node" >
#. {ph4}: <span translate="no">notes.csv</span>
#. {ph5}: </span >
#. {ph6}: <span class="flow-note" >
#. {ph7}: <code>csv.js</code>
#. {ph8}: </span >
#: website/public/first-investigation/index.html: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}Χειριστής · {ph1}{ph2}{ph3}Εγγραφή του {ph4}{ph5}{ph6}Καλεί τη "
"συνάρτηση μορφοποίησης στο {ph7} και γράφει το αρχείο.{ph8}"

#: 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 ""
"Η στατική ανάλυση του REA αντιστοιχίζει το μήνυμα με τον χειριστή του. Ο "
"προορισμός διαβάζεται από τον κώδικα."

#. {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} · γραμμές 8–12"

#: website/public/first-investigation/index.html:379
msgctxt "page:first-investigation/index.html"
msgid "Source"
msgstr "Πηγαίος κώδικας"

#: 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 ""
"Η διαδρομή του αρχείου, η συνάρτηση μορφοποίησης και η κλήση εγγραφής "
"βρίσκονται μαζί σε αυτόν τον χειριστή. Ζητήστε από τον βοηθό σας να δείξει "
"αυτές τις γραμμές αν τις παραλείπει από την απάντησή του."

#. {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}Δείτε την πλήρη διαδρομή στον κώδικα και το καταγεγραμμένο αποτέλεσμα "
"του REA{ph1}."

#: website/public/first-investigation/index.html:399
msgctxt "page:first-investigation/index.html"
msgid "4. Check a prediction"
msgstr "4. Ελέγξτε μια πρόβλεψη"

#: 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 ""
"Ένα κόμμα χωρίζει τις στήλες CSV. Τι συμβαίνει όταν ο ίδιος ο τίτλος μιας "
"σημείωσης περιέχει κόμμα ή εισαγωγικά;"

#. {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}Προβλέψτε το CSV για μια σημείωση με id 1 και τίτλο {ph3}. "
"Έπειτα εκτελέστε τη συνάρτηση μορφοποίησης {ph4} του παραδείγματος με το "
"{ph5} για να το ελέγξετε. Δείξτε την πρόβλεψη και την πραγματική "
"έξοδο.{ph6}{ph7}{ph8}"

#: website/public/first-investigation/index.html:433
msgctxt "page:first-investigation/index.html"
msgid "Expected formatter output"
msgstr "Αναμενόμενη έξοδος της συνάρτησης μορφοποίησης"

#. {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 ""
"Ο τίτλος παραμένει σε ένα πεδίο μέσα σε εισαγωγικά· κάθε εισαγωγικό "
"διπλασιάζεται. Έτσι ελέγχεται απευθείας η συνάρτηση μορφοποίησης με το "
"{ph0}."

#: website/public/first-investigation/index.html:444
msgctxt "page:first-investigation/index.html"
msgid "Run the check yourself"
msgstr "Εκτελέστε τον έλεγχο μόνοι σας"

#. {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 "Ανοίξτε ένα τερματικό στον αποσυμπιεσμένο φάκελο {ph0}:"

#: website/public/first-investigation/index.html:486
msgctxt "page:first-investigation/index.html"
msgid "5. Ask another question"
msgstr "5. Κάντε άλλη μια ερώτηση"

#: website/public/first-investigation/index.html:487
msgctxt "page:first-investigation/index.html"
msgid "Try a follow-up in the same conversation:"
msgstr "Δοκιμάστε μια επόμενη ερώτηση στην ίδια συνομιλία:"

#: 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 ""
"Τι συμβαίνει αν δεν μπορεί να γραφτεί το αρχείο; Ακολουθήστε το σφάλμα πίσω "
"στη σελίδα."

#: 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 ""
"Ή δώστε στον βοηθό σας μια δική σας εφαρμογή και ρωτήστε για ένα κουμπί, "
"αρχείο ή συμπεριφορά."

#. {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}Πώς το Notion αντιγράφει κείμενο και HTML{ph1}{ph2}Ακολουθήστε μια "
"λειτουργία προχείρου σε μια συσκευασμένη εφαρμογή Electron.{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}Πώς το DX-Ball υπολογίζει τη στερεοφωνική θέση του "
"ήχου{ph1}{ph2}Διαβάστε τις αρχικές εντολές και τους ελέγχους της "
"ανακατασκευής.{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}Αντιμετωπίστε προβλήματα ρύθμισης ή ανάλυσης{ph1}{ph2}Ενημερώστε το REA"
" και ελέγξτε τη σύνδεση αν συναντήσετε δυσκολίες.{ph3}"

#: website/public/first-investigation/index.html:6
msgctxt "page:first-investigation/index.html"
msgid "Your First Reverse Engineering Investigation — REA"
msgstr "Η πρώτη σας διερεύνηση αντίστροφης μηχανικής — REA"

#: website/public/first-investigation/index.html:7
msgctxt "page:first-investigation/index.html"
msgid ""
"Try REA on a small Notes app. Set up your agent, ask where exported notes "
"go, and check the CSV formatter with a sample title."
msgstr ""
"Δοκιμάστε το REA σε μια μικρή εφαρμογή σημειώσεων. Ρυθμίστε τον βοηθό σας, "
"ρωτήστε πού καταλήγουν οι εξαγόμενες σημειώσεις και ελέγξτε τη συνάρτηση "
"μορφοποίησης CSV με ένα παράδειγμα τίτλου."

#: website/public/first-investigation/index.html:213
msgctxt "page:first-investigation/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/first-investigation/index.html:223
msgctxt "page:first-investigation/index.html"
msgid "Your first REA investigation"
msgstr "Η πρώτη σας διερεύνηση με το REA"

#: website/public/first-investigation/index.html:239
msgctxt "page:first-investigation/index.html"
msgid "Copy REA installation prompt"
msgstr "Αντιγραφή προτροπής εγκατάστασης του REA"

#: website/public/first-investigation/index.html:261
msgctxt "page:first-investigation/index.html"
msgid "Copy setup command"
msgstr "Αντιγραφή εντολής ρύθμισης"

#: website/public/first-investigation/index.html:289
msgctxt "page:first-investigation/index.html"
msgid "Copy Notes investigation prompt"
msgstr "Αντιγραφή προτροπής διερεύνησης σημειώσεων"

#: website/public/first-investigation/index.html:411
msgctxt "page:first-investigation/index.html"
msgid "Copy CSV check prompt"
msgstr "Αντιγραφή προτροπής ελέγχου CSV"

#: 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 "Αντιγραφή εντολής ελέγχου συνάρτησης μορφοποίησης"

#: website/public/first-investigation/index.html:540
msgctxt "page:first-investigation/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/get-started/index.html:107
msgctxt "page:get-started/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {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}Αρχική{ph1} / Ξεκινήστε"

#: website/public/get-started/index.html:200
msgctxt "page:get-started/index.html"
msgid "Set up REA."
msgstr "Ρυθμίστε το REA."

#. {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 ""
"Θα χρειαστείτε {ph0} 22 (22.23.4+), 24 (24.22.1+) ή 26+ (>=26.12.1). Το npm περιλαμβάνεται "
"στο {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 "Δεν έχετε {ph0} ή δεν είστε σίγουροι;"

#: website/public/get-started/index.html:265
msgctxt "page:get-started/index.html"
msgid "Open a terminal and check:"
msgstr "Ανοίξτε ένα τερματικό και ελέγξτε:"

#: website/public/get-started/index.html:268
msgctxt "page:get-started/index.html"
msgid "Terminal"
msgstr "Τερματικό"

#: 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 "Αντιγραφή"

#. {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 ""
"Αν το {ph0} εμφανίζει v22.23.4+, v24.22.1+ ή v26.12.1+, είστε έτοιμοι. Αν εμφανίζει "
"παλαιότερη έκδοση ή \"not recognized\" / \"command not found\", εγκαταστήστε"
" το {ph1} 24 LTS:"

#. {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 ""
"Πληκτρολογήστε Y αν σας ζητηθεί να αποδεχτείτε τους όρους. Κλείστε το "
"PowerShell, ανοίξτε το ξανά και εκτελέστε το {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 ""
"Το πακέτο {ph0} της διανομής σας είναι συχνά παλαιότερο από την έκδοση "
"22.23.4, οπότε ελέγξτε το {ph1} αν το χρησιμοποιήσετε."

#. {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 ""
"Προτιμάτε ένα συνηθισμένο πρόγραμμα εγκατάστασης; Κατεβάστε την έκδοση LTS "
"από το {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}Χρησιμοποιήστε το 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}Βρείτε βοήθεια{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}Ο βοηθός προγραμματισμού σας"

#. {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}Εγκαταστήστε το REA και συνδέστε το με αυτόν τον βοηθό "
"προγραμματισμού χρησιμοποιώντας το {ph3}. Δείξτε μου το σχέδιο ρύθμισης για "
"έγκριση και μετά επαληθεύστε την εγκατάσταση.{ph4}{ph5}{ph6}"

#: website/public/get-started/index.html:795
msgctxt "page:get-started/index.html"
msgid "Or run setup yourself"
msgstr "Ή εκτελέστε τη ρύθμιση μόνοι σας"

#: website/public/get-started/index.html:231
msgctxt "page:get-started/index.html"
msgid "How do I open a terminal?"
msgstr "Πώς ανοίγω ένα τερματικό;"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <em>
#. {ph3}: </em>
#: website/public/get-started/index.html: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} ανοίξτε το μενού Έναρξη, πληκτρολογήστε "
"{ph2}PowerShell{ph3} και πατήστε Enter."

#. {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} πατήστε {ph2} {ph3}, πληκτρολογήστε {ph4}Terminal{ph5} και "
"πατήστε 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} πατήστε {ph2} {ph3} {ph4} στα περισσότερα περιβάλλοντα "
"επιφάνειας εργασίας."

#. {ph0}: <kbd>Ctrl</kbd>
#. {ph1}: <kbd>V</kbd>
#. {ph2}: <kbd>⌘</kbd>
#. {ph3}: <kbd>V</kbd>
#. {ph4}: <kbd>Ctrl</kbd>
#. {ph5}: <kbd>Shift</kbd>
#. {ph6}: <kbd>V</kbd>
#: website/public/get-started/index.html: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 ""
"Επικολλήστε μια εντολή με {ph0} {ph1} (macOS: {ph2} {ph3}· τερματικά Linux: "
"{ph4} {ph5} {ph6}) και μετά πατήστε Enter."

#: 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 ""
"Επιλέξτε την εφαρμογή σας και ελέγξτε το σχέδιο ρύθμισης. Το REA προσθέτει "
"τη σύνδεση MCP και την αντίστοιχη δεξιότητα διερεύνησης, κρατώντας αντίγραφο"
" ασφαλείας της υπάρχουσας διαμόρφωσης. Ζητά έγκριση πριν εφαρμόσει τις "
"αλλαγές."

#: website/public/get-started/index.html:845
msgctxt "page:get-started/index.html"
msgid "How do I restart my client?"
msgstr "Πώς επανεκκινώ την εφαρμογή μου;"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <kbd>⌘</kbd>
#. {ph3}: <kbd>Q</kbd>
#: website/public/get-started/index.html: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}Εφαρμογές επιφάνειας εργασίας{ph1} (Claude Desktop, Cursor, Windsurf, "
"VS Code): τερματίστε πλήρως την εφαρμογή και ανοίξτε την ξανά. Το κλείσιμο "
"του παραθύρου δεν αρκεί. Στο macOS πατήστε {ph2} {ph3}· στα Windows, "
"τερματίστε την και από το εικονίδιο στην περιοχή ειδοποιήσεων, αν υπάρχει."

#. {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}Βοηθοί στο τερματικό{ph1} (Claude Code, Codex, Gemini CLI): τερματίστε "
"τη συνεδρία και ξεκινήστε την ξανά."

#: website/public/get-started/index.html:957
msgctxt "page:get-started/index.html"
msgid "How do I get a folder's full path?"
msgstr "Πώς βρίσκω την πλήρη διαδρομή ενός φακέλου;"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <em>
#. {ph3}: </em>
#: website/public/get-started/index.html: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} στην Εξερεύνηση αρχείων, κάντε δεξί κλικ στον φάκελο και "
"επιλέξτε {ph2}Copy as path{ph3}. Στα Windows 10, κρατήστε πατημένο το Shift "
"ενώ κάνετε δεξί κλικ."

#. {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} στο Finder, κάντε δεξί κλικ στον φάκελο, κρατήστε πατημένο "
"το Option και επιλέξτε {ph2}Copy \"…\" as Pathname{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}Σε κάθε σύστημα:{ph1} σύρετε τον φάκελο σε ένα παράθυρο τερματικού και "
"θα εμφανιστεί η διαδρομή του."

#: 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 ""
"Στο τερματικό, βάλτε μέσα σε εισαγωγικά μια διαδρομή που περιέχει κενά."

#: 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 ""
"Αναλύστε έναν φάκελο εφαρμογής JavaScript ή Electron ή ένα αρχείο ASAR χωρίς"
" να εκτελέσετε την εφαρμογή:"

#: website/public/get-started/index.html:1564
msgctxt "page:get-started/index.html"
msgid "Static application analysis"
msgstr "Στατική ανάλυση εφαρμογής"

#. {ph0}: <code>.asar</code>
#. {ph1}: <code>"D:/apps/example"</code>
#: website/public/get-started/index.html: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 ""
"Αντικαταστήστε τη διαδρομή με τον κατάλογο της αποσυμπιεσμένης εφαρμογής ή "
"το αρχείο {ph0} σας. Στα Windows, μια διαδρομή όπως {ph1} λειτουργεί εδώ."

#: website/public/get-started/index.html:1582
msgctxt "page:get-started/index.html"
msgid "Where do I find an app's .asar file?"
msgstr "Πού βρίσκω το αρχείο .asar μιας εφαρμογής;"

#. {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 συνήθως το διατηρούν σε έναν φάκελο {ph0}:"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code
#. >C:\Users\&lt;you&gt;\AppData\Local\Programs\&lt;App&gt;\resources\app.asar</code
#. >
#: website/public/get-started/index.html: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} (κάντε δεξί κλικ στην εφαρμογή και επιλέξτε {ph3}Show"
" Package Contents{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} συχνά {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 ""
"Ορισμένες εφαρμογές εγκαθίστανται αλλού. Αναζητήστε το {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 ""
"Το αποτέλεσμα αναγνωρίζει την εφαρμογή, δείχνει συνδέσεις μεταξύ μονάδων και"
" δίνει τις θέσεις τους στον πηγαίο κώδικα. Οι συνδέσεις που το REA δεν "
"μπορεί να επιλύσει επισημαίνονται στο αποτέλεσμα."

#. {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 "Αν θέλετε μια μόνιμη εντολή {ph0} στο κέλυφός σας:"

#: website/public/get-started/index.html:1623
msgctxt "page:get-started/index.html"
msgid "Install the CLI"
msgstr "Εγκατάσταση του CLI"

#. {ph0}: <a href="../guides/javascript/" >
#. {ph1}: </a >
#: website/public/get-started/index.html:1635
#, python-brace-format
msgctxt "page:get-started/index.html"
msgid "{ph0}Continue with the JavaScript application guide{ph1}"
msgstr "{ph0}Συνεχίστε με τον οδηγό εφαρμογών JavaScript{ph1}"

#: website/public/get-started/index.html:1152
msgctxt "page:get-started/index.html"
msgid "Connect your Ghidra installation"
msgstr "Συνδέστε την εγκατάσταση Ghidra σας"

#: website/public/get-started/index.html:1122
msgctxt "page:get-started/index.html"
msgid "Connect Ghidra on Windows"
msgstr "Συνδέστε το Ghidra στα 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 έχουν πειραματική υποστήριξη μόνο για ανάγνωση για εφαρμογές "
"PE και DLL εγγενούς κώδικα x86 και x64 σε σταθερούς τοπικούς δίσκους NTFS. "
"Χρησιμοποιήστε μια υπάρχουσα εγκατάσταση Ghidra 12.1.x και JDK 21 ή νεότερο,"
" 64 bit:"

#: 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 ""
"Αντικαταστήστε τις δύο διαδρομές με τις εγκαταστάσεις σας και ελέγξτε το "
"σχέδιο της ρύθμισης."

#: 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 ""
"Συνδέστε το Hopper σε macOS ή Linux. Εκτελέστε την παραπάνω εντολή ρύθμισης·"
" εντοπίζει μια υπάρχουσα εγκατάσταση ή προτείνει ένα σχέδιο εγκατάστασης για"
" έγκρισή σας."

#: website/public/get-started/index.html:1689
msgctxt "page:get-started/index.html"
msgid "Getting help"
msgstr "Βρείτε βοήθεια"

#: website/public/get-started/index.html:1691
msgctxt "page:get-started/index.html"
msgid "If your agent doesn't see REA"
msgstr "Αν ο βοηθός σας δεν βλέπει το REA"

#. {ph0}: <code>doctor</code>
#: website/public/get-started/index.html: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 ""
"Επανεκκινήστε ή επανασυνδέστε την εφαρμογή μετά τη ρύθμιση. Ελέγξτε τη "
"σύνδεσή της με το REA χρησιμοποιώντας το {ph0}· για το Codex:"

#: website/public/get-started/index.html:1703
msgctxt "page:get-started/index.html"
msgid "If a provider needs attention"
msgstr "Αν ένας πάροχος ανάλυσης χρειάζεται έλεγχο"

#: website/public/get-started/index.html:1704
msgctxt "page:get-started/index.html"
msgid "Check the provider you're using. For Ghidra:"
msgstr "Ελέγξτε τον πάροχο ανάλυσης που χρησιμοποιείτε. Για το Ghidra:"

#: website/public/get-started/index.html:1707
msgctxt "page:get-started/index.html"
msgid "Check one provider"
msgstr "Έλεγχος ενός παρόχου ανάλυσης"

#: 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 ""
"Η αναφορά δίνει τον έλεγχο που απέτυχε και ένα προτεινόμενο επόμενο βήμα."

#. {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}Συχνές ερωτήσεις για το REA{ph1}{ph2}Σύντομες απαντήσεις για "
"ενημερώσεις, βοηθούς και ανάλυση.{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}Επιλέξτε έναν οδηγό διερεύνησης{ph1}{ph2}Αναλυτικά παραδείγματα για ένα"
" δυαδικό αρχείο, μια εφαρμογή Electron και έναν 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}GitHub issues{ph1}{ph2}Αναφέρετε ένα πρόβλημα μαζί με την εντολή και τα"
" διαγνωστικά.{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}Κοινότητα του REA{ph1}{ph2}Ερωτήσεις, διερευνήσεις και εργασίες σε "
"εξέλιξη.{ph3}"

#: website/public/get-started/index.html:6
msgctxt "page:get-started/index.html"
msgid "Install REA and Set Up Your Coding Agent"
msgstr "Εγκαταστήστε το REA και ρυθμίστε τον βοηθό προγραμματισμού σας"

#: website/public/get-started/index.html:7
msgctxt "page:get-started/index.html"
msgid ""
"Connect REA to your coding agent or inspect a local JavaScript or Electron "
"app from the terminal. Setup, first questions and native provider guides."
msgstr ""
"Συνδέστε το REA με τον βοηθό προγραμματισμού σας ή εξετάστε μια τοπική "
"εφαρμογή JavaScript ή Electron από το τερματικό. Ρύθμιση, πρώτες ερωτήσεις "
"και οδηγοί παρόχων ανάλυσης εγγενούς κώδικα."

#: website/public/get-started/index.html:269
msgctxt "page:get-started/index.html"
msgid "Copy Node.js version check"
msgstr "Αντιγραφή ελέγχου έκδοσης Node.js"

#: website/public/get-started/index.html:292
msgctxt "page:get-started/index.html"
msgid "Copy Node.js installation command for Windows"
msgstr "Αντιγραφή εντολής εγκατάστασης Node.js για Windows"

#: website/public/get-started/index.html:347
msgctxt "page:get-started/index.html"
msgid "Copy Homebrew Node.js installation command"
msgstr "Αντιγραφή εντολής εγκατάστασης Node.js μέσω Homebrew"

#: website/public/get-started/index.html:370
msgctxt "page:get-started/index.html"
msgid "Copy fnm installation command for Linux"
msgstr "Αντιγραφή εντολής εγκατάστασης fnm για Linux"

#: website/public/get-started/index.html:385
msgctxt "page:get-started/index.html"
msgid "Copy Node.js 24 commands for Linux"
msgstr "Αντιγραφή εντολών Node.js 24 για Linux"

#: website/public/get-started/index.html:212
#: website/public/get-started/index.html:211
msgctxt "page:get-started/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/get-started/index.html:223
msgctxt "page:get-started/index.html"
msgid "REA getting started guide"
msgstr "Οδηγός πρώτων βημάτων με το REA"

#: website/public/get-started/index.html:774
msgctxt "page:get-started/index.html"
msgid "Copy REA installation prompt"
msgstr "Αντιγραφή προτροπής εγκατάστασης του REA"

#: website/public/get-started/index.html:1565
msgctxt "page:get-started/index.html"
msgid "Copy JavaScript analysis command"
msgstr "Αντιγραφή εντολής ανάλυσης JavaScript"

#: website/public/get-started/index.html:1624
msgctxt "page:get-started/index.html"
msgid "Copy CLI installation command"
msgstr "Αντιγραφή εντολής εγκατάστασης CLI"

#: website/public/get-started/index.html:1708
msgctxt "page:get-started/index.html"
msgid "Copy provider diagnosis command"
msgstr "Αντιγραφή εντολής διάγνωσης παρόχου ανάλυσης"

#: website/public/get-started/index.html:1823
msgctxt "page:get-started/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/guides/browser/index.html:107
msgctxt "page:guides/browser/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/guides/browser/index.html:199
#, python-brace-format
msgctxt "page:guides/browser/index.html"
msgid "{ph0}Home{ph1} / {ph2}Guides{ph3} / Browser observation"
msgstr "{ph0}Αρχική{ph1} / {ph2}Οδηγοί{ph3} / Παρατήρηση στον 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 "Δείτε τι συμβαίνει{ph0}όταν κάνετε κλικ."

#: 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 ""
"Χρησιμοποιήστε μια μικρή εφαρμογή browser για να συνδέσετε μια ενέργεια, το "
"δικτυακό της αίτημα και τη JavaScript που δημιουργεί ένα αρχείο προς λήψη."

#: website/public/guides/browser/index.html:211
msgctxt "page:guides/browser/index.html"
msgid "In this guide"
msgstr "Σε αυτόν τον οδηγό"

#. {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}Το παράδειγμα{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}Ανοίξτε τον 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}Ρωτήστε τον βοηθό σας{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}Καταγράψτε από το 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}Διαβάστε το αίτημα και το script{ph1}"

#: website/public/guides/browser/index.html:222
msgctxt "page:guides/browser/index.html"
msgid "What happens when you click Export?"
msgstr "Τι συμβαίνει όταν πατάτε Export;"

#. {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 ""
"Το {ph0}παράδειγμα σημειώσεων στον browser{ph1} έχει ένα κουμπί {ph2}Export "
"notes{ph3}. Πατώντας το, φορτώνεται το {ph4}, οι δύο σημειώσεις "
"μορφοποιούνται ως CSV και ξεκινά μια λήψη."

#: website/public/guides/browser/index.html:231
msgctxt "page:guides/browser/index.html"
msgid "From the click to the CSV download"
msgstr "Από το κλικ στη λήψη CSV"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <span class="flow-node">
#. {ph3}: </span >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/guides/browser/index.html: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 · Εσείς{ph1}{ph2}Πατήστε Export notes{ph3}{ph4}Εκτελέστε την "
"ενέργεια στον browser σας ενώ η καταγραφή είναι σε εξέλιξη.{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}Καταγραφή του αιτήματος{ph3}{ph4}Καταγράψτε το URL "
"του αιτήματος, την κατάσταση απόκρισης και τη δομή JSON από την επιλεγμένη "
"σελίδα.{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 · Ο βοηθός σας{ph1}{ph2}Διαβάστε τον κώδικα "
"εξαγωγής{ph3}{ph4}Συνδέστε το αίτημα που παρατηρήθηκε με το {ph5} στο "
"{ph6}.{ph7}"

#: website/public/guides/browser/index.html:262
msgctxt "page:guides/browser/index.html"
msgid "Start the capture before clicking Export notes."
msgstr "Ξεκινήστε την καταγραφή πριν πατήσετε Export notes."

#: website/public/guides/browser/index.html:268
msgctxt "page:guides/browser/index.html"
msgid "Open Chrome with remote debugging"
msgstr "Ανοίξτε το Chrome με απομακρυσμένη αποσφαλμάτωση"

#: 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 ""
"Ανοίξτε το φιλοξενούμενο παράδειγμα σημειώσεων με ξεχωριστό προφίλ browser "
"και τοπική θύρα αποσφαλμάτωσης. Στο Linux:"

#: website/public/guides/browser/index.html:275
msgctxt "page:guides/browser/index.html"
msgid "Start the example browser"
msgstr "Ξεκινήστε τον browser του παραδείγματος"

#: 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 "Αντιγραφή"

#: 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 ""
"Χρησιμοποιήστε τη διαδρομή εκτελέσιμου του εγκατεστημένου browser σας σε "
"macOS ή Windows. Μπορείτε να αντικαταστήσετε το URL της σελίδας με μια άλλη "
"σελίδα που θέλετε να εξετάσετε."

#: 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 συνδέεται με αυτόν τον ήδη ανοιχτό browser. Διατηρείτε τον έλεγχο της"
" σελίδας, εκτελείτε την ενέργεια και κλείνετε τον browser όταν τελειώσετε."

#: website/public/guides/browser/index.html:301
msgctxt "page:guides/browser/index.html"
msgid "Ask your agent to watch one action"
msgstr "Ζητήστε από τον βοηθό σας να παρακολουθήσει μία ενέργεια"

#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
#. {ph1}: <i>
#. {ph2}: </i>
#. {ph3}: <i>
#. {ph4}: </i>
#. {ph5}: <i>
#. {ph6}: </i>
#. {ph7}: </span >
#: website/public/guides/browser/index.html: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}Ο βοηθός προγραμματισμού σας"

#. {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}Χρησιμοποιήστε το REA για να εξετάσετε αυτή τη σελίδα ενώ "
"πατάω Export notes. Ποιο αίτημα κάνει και πώς δημιουργείται το "
"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 ""
"Παράδειγμα προτροπής. Δώστε στον βοηθό σας το endpoint αποσφαλμάτωσης, "
"{ph0}, και το URL της σελίδας. Αφήστε τον να ξεκινήσει την καταγραφή πριν "
"κάνετε κλικ."

#: 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 ""
"Ο βοηθός σας εντοπίζει τον στόχο της σελίδας, ξεκινά ένα χρονικό διάστημα "
"παρατήρησης και διαβάζει τα στοιχεία που προκύπτουν. Έπειτα μπορεί να "
"εξετάσει το script πίσω από την εξαγωγή."

#: website/public/guides/browser/index.html:337
msgctxt "page:guides/browser/index.html"
msgid "Or capture from the terminal"
msgstr "Ή καταγράψτε από το τερματικό"

#: website/public/guides/browser/index.html:338
msgctxt "page:guides/browser/index.html"
msgid "Find the page's target ID:"
msgstr "Βρείτε το αναγνωριστικό στόχου της σελίδας:"

#: website/public/guides/browser/index.html:341
msgctxt "page:guides/browser/index.html"
msgid "Find the page"
msgstr "Βρείτε τη σελίδα"

#. {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 ""
"Επιλέξτε τον στόχο με το URL του παραδείγματος σημειώσεων. Αντικαταστήστε το"
" {ph0} παρακάτω με το αναγνωριστικό του και εκτελέστε:"

#: website/public/guides/browser/index.html:360
msgctxt "page:guides/browser/index.html"
msgid "Capture the next ten seconds"
msgstr "Καταγράψτε τα επόμενα δέκα δευτερόλεπτα"

#. {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 ""
"Αφήστε λίγα δευτερόλεπτα για να συνδεθεί η εντολή και πατήστε {ph0}Export "
"notes{ph1} σε εκείνον τον browser. Το αποτέλεσμα φτάνει μόλις τελειώσει το "
"χρονικό διάστημα παρατήρησης."

#: 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 ""
"Το καταγεγραμμένο αποτέλεσμα περιλαμβάνει την επιλεγμένη σελίδα, τη δικτυακή"
" δραστηριότητα σε αυτό το χρονικό διάστημα και τη δομή της απόκρισης JSON. "
"Προγενέστερα αιτήματα βρίσκονται εκτός αυτής της καταγραφής."

#: website/public/guides/browser/index.html:388
msgctxt "page:guides/browser/index.html"
msgid "Read the request and export script"
msgstr "Διαβάστε το αίτημα και το script εξαγωγής"

#: 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 "Καταγράφηκε με REA 4.1.0 στο τοπικό παράδειγμα σημειώσεων"

#: website/public/guides/browser/index.html:396
msgctxt "page:guides/browser/index.html"
msgid "Captured fact"
msgstr "Καταγεγραμμένο γεγονός"

#: website/public/guides/browser/index.html:397
msgctxt "page:guides/browser/index.html"
msgid "Value"
msgstr "Τιμή"

#: website/public/guides/browser/index.html:402
msgctxt "page:guides/browser/index.html"
msgid "Request"
msgstr "Αίτημα"

#: website/public/guides/browser/index.html:406
msgctxt "page:guides/browser/index.html"
msgid "Response"
msgstr "Απόκριση"

#: website/public/guides/browser/index.html:410
msgctxt "page:guides/browser/index.html"
msgid "Request initiator"
msgstr "Πηγή του αιτήματος"

#. {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 "Δομή απόκρισης"

#. {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} με πεδία {ph1} και {ph2}"

#: website/public/guides/browser/index.html:425
msgctxt "page:guides/browser/index.html"
msgid "Read the loaded scripts"
msgstr "Διαβάστε τα φορτωμένα scripts"

#. {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 ""
"Το αίτημα προσδιορίζει την πηγή δεδομένων και το REA καταγράφει το {ph0} ως "
"την πηγή που το ξεκίνησε. Διαβάστε τον καταγεγραμμένο πηγαίο κώδικα του "
"script για να δείτε πώς χρησιμοποιούνται τα δεδομένα:"

#. {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} · απόσπασμα πηγαίου κώδικα του παραδείγματος"

#. {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 ""
"Το αρχείο προς λήψη δημιουργείται στη σελίδα με την απόκριση JSON. Το βήμα "
"μορφοποίησης CSV προκύπτει από το script· η καταγραφή δικτύου τεκμηριώνει "
"ότι αυτό το κλικ ζήτησε το {ph0}."

#. {ph0}: <a href="../../examples/notes-web/">
#. {ph1}: </a>
#. {ph2}: <a href="../../examples/notes-web/export.js" download >
#. {ph3}: <span translate="no">export.js</span>
#. {ph4}: </a >
#. {ph5}: <a href="../../examples/notes-web/notes.json" download >
#. {ph6}: <span translate="no">notes.json</span>
#. {ph7}: </a >
#: website/public/guides/browser/index.html: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}Ανοίξτε το παράδειγμα{ph1} · {ph2}Λήψη {ph3}{ph4} · {ph5}Λήψη "
"{ph6}{ph7}"

#. {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 ""
"Βρείτε το script που ζητά το {ph0}. Πώς χειρίζεται τους τίτλους που "
"περιέχουν κόμματα ή εισαγωγικά με χαρακτήρες διαφυγής;"

#. {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 ""
"Για μια εγκατεστημένη εφαρμογή JavaScript ή Electron, συνεχίστε με τη "
"{ph0}ροή εργασίας εφαρμογών{ph1} για να ακολουθήσετε τα αρχεία και τα όρια "
"διεργασιών."

#. {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 ""
"Για τα σώματα αιτημάτων και αποκρίσεων HTTP, χρησιμοποιήστε το {ph0}Fiddler "
"Everywhere: καταγραφές SAZ, MCP και δημόσιες δεξιότητες{ph1}. Εξαγάγετε SAZ "
"ή HAR 1.2 για Evidence καταγραφής του REA εκτός σύνδεσης ή συνδέστε τον "
"διακομιστή MCP του Everywhere για να εξετάσετε την καταγεγραμμένη κίνηση με "
"τον βοηθό σας."

#: website/public/guides/browser/index.html:6
msgctxt "page:guides/browser/index.html"
msgid "Browser and Network Analysis — REA"
msgstr "Ανάλυση browser και δικτύου — REA"

#: website/public/guides/browser/index.html:7
msgctxt "page:guides/browser/index.html"
msgid ""
"Observe a Notes export with REA: select a browser page, capture a click, "
"inspect the request and follow the export script."
msgstr ""
"Παρατηρήστε μια εξαγωγή σημειώσεων με το REA: επιλέξτε μια σελίδα browser, "
"καταγράψτε ένα κλικ, εξετάστε το αίτημα και ακολουθήστε το script εξαγωγής."

#: website/public/guides/browser/index.html:210
msgctxt "page:guides/browser/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/guides/browser/index.html:220
msgctxt "page:guides/browser/index.html"
msgid "Browser observation"
msgstr "Παρατήρηση στον browser"

#: website/public/guides/browser/index.html:276
msgctxt "page:guides/browser/index.html"
msgid "Copy start the example browser"
msgstr "Αντιγραφή εντολής εκκίνησης browser του παραδείγματος"

#: website/public/guides/browser/index.html:308
msgctxt "page:guides/browser/index.html"
msgid "Copy example prompt"
msgstr "Αντιγραφή παραδείγματος προτροπής"

#: website/public/guides/browser/index.html:342
msgctxt "page:guides/browser/index.html"
msgid "Copy find the page"
msgstr "Αντιγραφή εντολής εύρεσης σελίδας"

#: website/public/guides/browser/index.html:361
msgctxt "page:guides/browser/index.html"
msgid "Copy capture the next ten seconds"
msgstr "Αντιγραφή εντολής καταγραφής των επόμενων δέκα δευτερολέπτων"

#: website/public/guides/browser/index.html:426
msgctxt "page:guides/browser/index.html"
msgid "Copy read the loaded scripts"
msgstr "Αντιγραφή εντολής ανάγνωσης φορτωμένων scripts"

#: website/public/guides/browser/index.html:513
msgctxt "page:guides/browser/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/guides/index.html:107
msgctxt "page:guides/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {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}Αρχική{ph1} / Οδηγοί"

#: website/public/guides/index.html:200
msgctxt "page:guides/index.html"
msgid "REA guides."
msgstr "Οδηγοί 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 ""
"Αναλύστε μια συνάρτηση εγγενούς κώδικα, μια εξαγωγή Electron ή ένα αίτημα "
"browser. Κάθε οδηγός περιλαμβάνει μια προτροπή, κώδικα και αποτελέσματα."

#: website/public/guides/index.html:208
msgctxt "page:guides/index.html"
msgid "First investigation"
msgstr "Πρώτη διερεύνηση"

#: website/public/guides/index.html:210
msgctxt "page:guides/index.html"
msgid "Set up REA"
msgstr "Ρυθμίστε το REA"

#: website/public/guides/index.html:211
msgctxt "page:guides/index.html"
msgid "Connect your coding agent or use REA from the terminal."
msgstr ""
"Συνδέστε τον βοηθό προγραμματισμού σας ή χρησιμοποιήστε το REA από το "
"τερματικό."

#: website/public/guides/index.html:212
msgctxt "page:guides/index.html"
msgid "Get started with REA"
msgstr "Ξεκινήστε με το REA"

#: website/public/guides/index.html:216
msgctxt "page:guides/index.html"
msgid "Native binaries"
msgstr "Δυαδικά αρχεία εγγενούς κώδικα"

#: website/public/guides/index.html:218
msgctxt "page:guides/index.html"
msgid "Recover a sound-pan calculation"
msgstr "Ανακτήστε έναν υπολογισμό στερεοφωνικής θέσης ήχου"

#: 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 ""
"Ξεκινήστε με το εκτελέσιμο ενός παιχνιδιού Windows. Εξετάστε τις εντολές, "
"ακολουθήστε μια καλούσα συνάρτηση, διαβάστε αριθμητικές σταθερές και ελέγξτε"
" τον ανακτημένο κώδικα C."

#: website/public/guides/index.html:224
msgctxt "page:guides/index.html"
msgid "Instructions"
msgstr "Εντολές"

#: website/public/guides/index.html:225
msgctxt "page:guides/index.html"
msgid "Caller"
msgstr "Καλούσα συνάρτηση"

#: website/public/guides/index.html:226
msgctxt "page:guides/index.html"
msgid "Constants"
msgstr "Σταθερές"

#: website/public/guides/index.html:227
msgctxt "page:guides/index.html"
msgid "C function"
msgstr "Συνάρτηση C"

#: website/public/guides/index.html:229
msgctxt "page:guides/index.html"
msgid "Native analysis guide"
msgstr "Οδηγός ανάλυσης εγγενούς κώδικα"

#: 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 "Ακολουθήστε μια εξαγωγή 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 ""
"Μια μικρή εφαρμογή σημειώσεων μοιράζει μία λειτουργία μεταξύ renderer, "
"preload και κύριας διεργασίας. Χρησιμοποιήστε το REA για να συνδέσετε το "
"API, το κανάλι IPC και τον κώδικα εγγραφής αρχείου."

#: website/public/guides/index.html:242
msgctxt "page:guides/index.html"
msgid "Button"
msgstr "Κουμπί"

#: website/public/guides/index.html:243
msgctxt "page:guides/index.html"
msgid "Preload API"
msgstr "API προφόρτωσης"

#: 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 "Αρχείο CSV"

#: website/public/guides/index.html:246
msgctxt "page:guides/index.html"
msgid "JavaScript & Electron guide"
msgstr "Οδηγός 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 ""
"Για μια μεγαλύτερη συσκευασμένη εφαρμογή, ακολουθήστε τη {ph0}γέφυρα "
"προχείρου του Notion{ph1}."

#: website/public/guides/index.html:256
msgctxt "page:guides/index.html"
msgid "Browser behavior"
msgstr "Συμπεριφορά browser"

#: website/public/guides/index.html:258
msgctxt "page:guides/index.html"
msgid "Observe a click"
msgstr "Παρατηρήστε ένα κλικ"

#: 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 ""
"Ανοίξτε ένα λειτουργικό παράδειγμα σημειώσεων, καταγράψτε ένα αίτημα "
"εξαγωγής και βρείτε τον κώδικα που μετατρέπει την απόκρισή του σε αρχείο "
"προς λήψη."

#: website/public/guides/index.html:264
msgctxt "page:guides/index.html"
msgid "Your click"
msgstr "Το κλικ σας"

#: website/public/guides/index.html:265
msgctxt "page:guides/index.html"
msgid "Captured request"
msgstr "Καταγεγραμμένο αίτημα"

#: website/public/guides/index.html:266
msgctxt "page:guides/index.html"
msgid "Export script"
msgstr "Script εξαγωγής"

#: website/public/guides/index.html:268
msgctxt "page:guides/index.html"
msgid "Browser observation guide"
msgstr "Οδηγός παρατήρησης στον browser"

#: website/public/guides/index.html:6
msgctxt "page:guides/index.html"
msgid "Reverse Engineering Guides — REA"
msgstr "Οδηγοί αντίστροφης μηχανικής — REA"

#: website/public/guides/index.html:7
msgctxt "page:guides/index.html"
msgid ""
"Learn REA through short worked examples: a native calculation, an Electron "
"CSV export and a browser request."
msgstr ""
"Μάθετε το REA μέσα από σύντομα αναλυτικά παραδείγματα: έναν υπολογισμό "
"εγγενούς κώδικα, μια εξαγωγή CSV στο Electron και ένα αίτημα browser."

#: website/public/guides/index.html:288
msgctxt "page:guides/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/guides/javascript/index.html:107
msgctxt "page:guides/javascript/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/guides/javascript/index.html:199
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0}Home{ph1} / {ph2}Guides{ph3} / JavaScript & Electron"
msgstr "{ph0}Αρχική{ph1} / {ph2}Οδηγοί{ph3} / JavaScript και Electron"

#. {ph0}: <br />
#: website/public/guides/javascript/index.html:203
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "Trace an Electron{ph0}CSV export."
msgstr "Ακολουθήστε μια εξαγωγή{ph0}CSV στο Electron."

#: 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 ""
"Ακολουθήστε ένα κλικ σε κουμπί από το API της σελίδας, μέσω του IPC του "
"Electron, μέχρι τον κώδικα εγγραφής του αρχείου CSV."

#: website/public/guides/javascript/index.html:211
msgctxt "page:guides/javascript/index.html"
msgid "In this guide"
msgstr "Σε αυτόν τον οδηγό"

#. {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}Το παράδειγμα{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}Ρωτήστε τον βοηθό σας{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}Ακολουθήστε τον κώδικα εξαγωγής{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}Δοκιμάστε το παράδειγμα{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}Εξετάστε τον κώδικα εγγραφής CSV{ph1}"

#: website/public/guides/javascript/index.html:222
msgctxt "page:guides/javascript/index.html"
msgid "Where does “Export notes” go?"
msgstr "Πού οδηγεί το «Export notes»;"

#. {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 ""
"Αυτός ο οδηγός χρησιμοποιεί μια μικρή εφαρμογή Electron. Πατώντας "
"{ph0}Export notes{ph1}, καλείται ένα API στη σελίδα, η ενέργεια περνά στην "
"κύρια διεργασία και γράφεται ένα CSV. Η συμπεριφορά κατανέμεται σε αρκετά "
"αρχεία."

#: website/public/guides/javascript/index.html:230
msgctxt "page:guides/javascript/index.html"
msgid "The CSV export across Electron processes"
msgstr "Η εξαγωγή CSV μεταξύ των διεργασιών του Electron"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <span class="flow-node">
#. {ph3}: <code>notes.exportCsv()</code>
#. {ph4}: </span >
#. {ph5}: <span class="flow-note" >
#. {ph6}: <code>renderer.js</code>
#. {ph7}: <code>preload.js</code>
#. {ph8}: </span >
#: website/public/guides/javascript/index.html: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 → preload{ph1}{ph2}{ph3}{ph4}{ph5}Το {ph6} καλεί το API που "
"εκθέτει το {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}Μεταξύ διεργασιών{ph1}{ph2}{ph3}{ph4}{ph5}Το preload καλεί ένα κανάλι "
"IPC: ένα ονομασμένο μήνυμα προς την κύρια διεργασία.{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}Κύρια διεργασία{ph1}{ph2}Ένας χειριστής εξαγωγής{ph3}{ph4}Το {ph5} "
"χειρίζεται αυτό το κανάλι και καλεί τον κώδικα εγγραφής CSV.{ph6}"

#. {ph0}: <code>csv.js</code>
#. {ph1}: <code>main.js</code>
#. {ph2}: <code>downloads/notes.csv</code>
#: website/public/guides/javascript/index.html:259
#, python-brace-format
msgctxt "page:guides/javascript/index.html"
msgid "{ph0} formats the notes → {ph1} writes {ph2}."
msgstr "Το {ph0} μορφοποιεί τις σημειώσεις → το {ph1} γράφει το {ph2}."

#: website/public/guides/javascript/index.html: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 αντιστοιχίζει την κλήση IPC με κυριολεκτικό όνομα στον χειριστή της "
"και αναγνωρίζει το εκτεθειμένο API. Η διαδρομή συνάγεται από τον κώδικα· μια"
" καταγραφή κατά την εκτέλεση μπορεί να ελέγξει τι εκτελείται."

#: website/public/guides/javascript/index.html:271
msgctxt "page:guides/javascript/index.html"
msgid "Ask about the CSV export"
msgstr "Ρωτήστε για την εξαγωγή CSV"

#. {ph0}: <a href="../../get-started/#agent">
#. {ph1}: </a>
#: website/public/guides/javascript/index.html: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}Συνδέστε τον βοηθό σας με το REA{ph1} και δώστε του τον κατάλογο της "
"εφαρμογής ή το αρχείο ASAR:"

#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
#. {ph1}: <i>
#. {ph2}: </i>
#. {ph3}: <i>
#. {ph4}: </i>
#. {ph5}: <i>
#. {ph6}: </i>
#. {ph7}: </span >
#: website/public/guides/javascript/index.html: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}Ο βοηθός προγραμματισμού σας"

#: website/public/guides/javascript/index.html:282
#: website/public/guides/javascript/index.html:431
msgctxt "page:guides/javascript/index.html"
msgid "Copy"
msgstr "Αντιγραφή"

#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
#. {ph1}: </span >
#. {ph2}: <span id="javascript-prompt" >
#. {ph3}: </span >
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
#. {ph5}: </span>
#: website/public/guides/javascript/index.html: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}Χρησιμοποιήστε το REA για να βρείτε τι συμβαίνει όταν εξάγω "
"σημειώσεις σε αυτή την εφαρμογή. Πού δημιουργείται το 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 ""
"Παράδειγμα προτροπής. Συμπεριλάβετε την απόλυτη διαδρομή προς τον φάκελο της"
" εφαρμογής ή το {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 διαβάζει τα αρχεία της εφαρμογής και δημιουργεί έναν χάρτη σημείων "
"εισόδου, μονάδων και ορίων διεργασιών. Ο βοηθός σας χρησιμοποιεί αυτόν τον "
"χάρτη για να εστιάσει τη διερεύνηση στη λειτουργία εξαγωγής."

#: website/public/guides/javascript/index.html:310
msgctxt "page:guides/javascript/index.html"
msgid "Trace the export code"
msgstr "Ακολουθήστε τον κώδικα εξαγωγής"

#: website/public/guides/javascript/index.html:311
msgctxt "page:guides/javascript/index.html"
msgid "The page calls a small API"
msgstr "Η σελίδα καλεί ένα μικρό API"

#. {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} · πηγαίος κώδικας του παραδείγματος"

#: 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 ""
"Η σελίδα γνωρίζει το όνομα της μεθόδου. Η υλοποίηση βρίσκεται στο preload, "
"που την εκθέτει στον 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 καταγράφει το {ph0} και το κυριολεκτικό όνομα καναλιού {ph1}. "
"Αντιστοιχίζει αυτή την κλήση με τον μοναδικό αντίστοιχο χειριστή στην κύρια "
"διεργασία."

#. {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 ""
"Η ανάγνωση του χειριστή απαντά στην αρχική ερώτηση: το {ph0} μορφοποιεί τις "
"σημειώσεις και η κύρια διεργασία γράφει το {ph1} στον φάκελο λήψεων του "
"χρήστη."

#: website/public/guides/javascript/index.html:362
msgctxt "page:guides/javascript/index.html"
msgid "REA result · summary.ipc excerpt"
msgstr "Αποτέλεσμα REA · απόσπασμα summary.ipc"

#: 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 ""
"Καταγράφηκε από το REA 4.1.0 στο παρακάτω παράδειγμα προς λήψη. Τα ευρήματα "
"για το API, το κανάλι και τον χειριστή συνοδεύονται από θέσεις στον πηγαίο "
"κώδικα."

#: website/public/guides/javascript/index.html:378
msgctxt "page:guides/javascript/index.html"
msgid "Analyze the example yourself"
msgstr "Αναλύστε το παράδειγμα μόνοι σας"

#. {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 ""
"Κατεβάστε το παράδειγμα και αποσυμπιέστε το. Το αρχείο περιέχει ολόκληρο τον"
" φάκελο {ph0}. Αναλύστε το με {ph1} και npm· το Electron δεν χρειάζεται για "
"αυτό το παράδειγμα."

#. {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}Λήψη παραδείγματος ZIP{ph1}"

#: website/public/guides/javascript/index.html:394
msgctxt "page:guides/javascript/index.html"
msgid "Browse the six source files"
msgstr "Περιηγηθείτε στα έξι αρχεία πηγαίου κώδικα"

#: website/public/guides/javascript/index.html:430
msgctxt "page:guides/javascript/index.html"
msgid "Static application analysis"
msgstr "Στατική ανάλυση εφαρμογής"

#. {ph0}: <code>normalized_result.summary.ipc</code>
#. {ph1}: <code>normalized_result.graph</code>
#: website/public/guides/javascript/index.html: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 ""
"Αντικαταστήστε τη διαδρομή με τον φάκελο που αποσυμπιέσατε. Θα πρέπει να "
"βρείτε ένα κανάλι IPC και έναν αντίστοιχο χειριστή στο {ph0}. Οι θέσεις στον"
" πηγαίο κώδικα βρίσκονται στο {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 ""
"Για τη δική σας εφαρμογή, χρησιμοποιήστε την ίδια εντολή με τον κατάλογό της"
" ή τη διαδρομή ASAR. Ένας βοηθός μπορεί να ακολουθήσει μια κυριολεκτική "
"συμβολοσειρά, ένα όνομα API ή ένα κανάλι IPC με τα εργαλεία ιχνηλάτησης "
"λειτουργιών του REA."

#: website/public/guides/javascript/index.html:456
msgctxt "page:guides/javascript/index.html"
msgid "Inspect the CSV writer"
msgstr "Εξετάστε τον κώδικα εγγραφής 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 ""
"Ακολουθήστε το {ph0} μέχρι τον χειριστή του. Ποιες είσοδοι φτάνουν στον "
"κώδικα εγγραφής CSV και τι συμβαίνει αν η εγγραφή του αρχείου αποτύχει;"

#: 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 ""
"Χρησιμοποιήστε τις θέσεις στον πηγαίο κώδικα για να εξετάσετε αυτές τις "
"λεπτομέρειες. Τα ονόματα καναλιών που υπολογίζονται και οι αμφίσημοι "
"χειριστές μπορεί να παραμείνουν ανεπίλυτα· οι παρατηρήσεις κατά την εκτέλεση"
" σας δίνουν έναν ακόμη τρόπο διερεύνησης."

#. {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}Ακολουθήστε τη γέφυρα προχείρου του Notion{ph1} {ph2}Εφαρμόστε την ίδια"
" προσέγγιση σε μια συσκευασμένη εφαρμογή Electron.{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}Παρατηρήστε μια εξαγωγή στον browser{ph1}{ph2}Καταγράψτε ένα πραγματικό"
" κλικ και δείτε ποιο αίτημα κάνει.{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}Ακολουθήστε μια συνάρτηση εγγενούς κώδικα{ph1}{ph2}Συνεχίστε σε ένα "
"δυαδικό αρχείο όταν μια λειτουργία εξαρτάται από εγγενή κώδικα.{ph3}"

#: website/public/guides/javascript/index.html:6
msgctxt "page:guides/javascript/index.html"
msgid "JavaScript and Electron Analysis — REA"
msgstr "Ανάλυση JavaScript και Electron — REA"

#: website/public/guides/javascript/index.html:7
msgctxt "page:guides/javascript/index.html"
msgid ""
"Trace a Notes CSV export through a renderer API, preload and IPC handler "
"with REA. Includes downloadable example files and a verified analysis "
"result."
msgstr ""
"Ακολουθήστε μια εξαγωγή CSV σημειώσεων μέσα από ένα API renderer, preload "
"και χειριστή IPC με το REA. Περιλαμβάνει αρχεία παραδείγματος προς λήψη και "
"ένα επαληθευμένο αποτέλεσμα ανάλυσης."

#: website/public/guides/javascript/index.html:210
msgctxt "page:guides/javascript/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: 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 "Αντιγραφή παραδείγματος προτροπής"

#: website/public/guides/javascript/index.html:431
msgctxt "page:guides/javascript/index.html"
msgid "Copy static application analysis"
msgstr "Αντιγραφή εντολής στατικής ανάλυσης εφαρμογής"

#: website/public/guides/javascript/index.html:509
msgctxt "page:guides/javascript/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/guides/native/index.html:107
msgctxt "page:guides/native/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/guides/native/index.html:199
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "{ph0}Home{ph1} / {ph2}Guides{ph3} / Native analysis"
msgstr "{ph0}Αρχική{ph1} / {ph2}Οδηγοί{ph3} / Ανάλυση εγγενούς κώδικα"

#. {ph0}: <br />
#: website/public/guides/native/index.html:202
#, python-brace-format
msgctxt "page:guides/native/index.html"
msgid "Recover DX-Ball's{ph0}sound-pan calculation."
msgstr "Ανακτήστε τον υπολογισμό{ph0}στερεοφωνικής θέσης ήχου του DX-Ball."

#: 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 ""
"Εξετάστε τις αρχικές εντολές, αναγνωρίστε την είσοδο και τις σταθερές και "
"ελέγξτε τον ανακτημένο κώδικα C."

#: website/public/guides/native/index.html:210
msgctxt "page:guides/native/index.html"
msgid "In this guide"
msgstr "Σε αυτόν τον οδηγό"

#. {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}Το παράδειγμα{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}Ρωτήστε τον βοηθό σας{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}Διαβάστε τα αποτελέσματα του 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}Ανακτήστε και ελέγξτε{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}Χρησιμοποιήστε το δικό σας δυαδικό αρχείο{ph1}"

#: website/public/guides/native/index.html:221
msgctxt "page:guides/native/index.html"
msgid "Calculate left/right sound panning"
msgstr "Υπολογίστε τη στερεοφωνική θέση του ήχου αριστερά/δεξιά"

#: 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 ""
"Στο DX-Ball, το χτύπημα ενός τούβλου παρέχει μια οριζόντια θέση στην οθόνη. "
"Ο κώδικας ήχου τη μετατρέπει σε μια τιμή στερεοφωνικής θέσης αριστερά/δεξιά."

#. {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 ""
"Η αρχική συνάρτηση, {ph0}, έχει ένα σύντομο αποτέλεσμα απομεταγλώττισης: μια"
" κλήση στο {ph1}. Το REA επιστρέφει επίσης τις εντολές της και τις καλούσες "
"συναρτήσεις, που δίνουν στον βοηθό έναν τρόπο να διερευνήσει τις αριθμητικές"
" πράξεις που λείπουν."

#: website/public/guides/native/index.html:233
msgctxt "page:guides/native/index.html"
msgid "New to these terms?"
msgstr "Βλέπετε πρώτη φορά αυτούς τους όρους;"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>MOV</code>
#. {ph3}: <code>ADD</code>
#: website/public/guides/native/index.html: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}Εντολές:{ph1} τα βήματα που εκτελεί ο επεξεργαστής, σε αναγνώσιμη μορφή"
" όπως {ph2} ή {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}Αποτέλεσμα απομεταγλώττισης / ψευδοκώδικας:{ph1} η προσπάθεια ενός "
"εργαλείου ανάλυσης να μετατρέψει τις εντολές ξανά σε κώδικα που μοιάζει με "
"C. Μπορεί να παραλείψει τμήματα, όπως σε αυτό το παράδειγμα."

#. {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}Καλούσα συνάρτηση:{ph1} μια συνάρτηση που καλεί αυτήν. Δείχνει ποιες "
"τιμές μεταβιβάζονται."

#. {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}Διεύθυνση:{ph1} μια θέση στο πρόγραμμα, γραμμένη σε δεκαεξαδική μορφή, "
"όπως {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}Σταθερές:{ph1} σταθεροί αριθμοί αποθηκευμένοι στο πρόγραμμα, που "
"διαβάζονται ως ακατέργαστα bytes και αποκωδικοποιούνται."

#: website/public/guides/native/index.html:260
msgctxt "page:guides/native/index.html"
msgid "Three pieces of evidence, one calculation"
msgstr "Τρία στοιχεία, ένας υπολογισμός"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <span class="flow-node">
#. {ph3}: </span >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/guides/native/index.html: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 · Εντολές{ph1}{ph2}Μια ακέραια τιμή εισόδου{ph3}{ph4}Μια ανάγνωση "
"από τη στοίβα παρέχει την τιμή που χρησιμοποιούν οι εντολές κινητής "
"υποδιαστολής.{ph5}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <span class="flow-node">
#. {ph3}: </span >
#. {ph4}: <span class="flow-note" >
#. {ph5}: <code>20 + 30 × tile_x</code>
#. {ph6}: </span >
#: website/public/guides/native/index.html: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 · Καλούσα συνάρτηση{ph1}{ph2}Μια συντεταγμένη οθόνης{ph3}{ph4}Η "
"καλούσα συνάρτηση που χειρίζεται το χτύπημα του τούβλου μεταβιβάζει "
"{ph5}.{ph6}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <span class="flow-node">
#. {ph3}: </span >
#. {ph4}: <span class="flow-note" >
#. {ph5}: <code>1.5625</code>
#. {ph6}: <code>500.0</code>
#. {ph7}: </span >
#: website/public/guides/native/index.html: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 · Bytes δεδομένων{ph1}{ph2}Οι αριθμητικές σταθερές{ph3}{ph4}Τα bytes"
" στα οποία γίνεται αναφορά αποκωδικοποιούνται ως {ph5}, {ph6} και μια τιμή "
"κλίμακας.{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 παρέχει τις εντολές, τη σχέση κλήσης και τα bytes. Ο βοηθός τα "
"ερμηνεύει μαζί."

#: website/public/guides/native/index.html:299
msgctxt "page:guides/native/index.html"
msgid "Ask about the behavior"
msgstr "Ρωτήστε για τη συμπεριφορά"

#. {ph0}: <a href="../../get-started/#agent" >
#. {ph1}: </a >
#. {ph2}: <a href="../../get-started/#native" >
#. {ph3}: </a >
#: website/public/guides/native/index.html: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 ""
"Αφού {ph0}συνδέσετε το REA με τον βοηθό σας{ph1} και {ph2}ρυθμίσετε ένα "
"εργαλείο ανάλυσης εγγενούς κώδικα{ph3}, δώστε το τοπικό εκτελέσιμο και μια "
"ερώτηση:"

#: website/public/guides/native/index.html:311
msgctxt "page:guides/native/index.html"
msgid "Which analysis tool should I use?"
msgstr "Ποιο εργαλείο ανάλυσης να χρησιμοποιήσω;"

#: 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 χρειάζεται ένα από τα παρακάτω για να διαβάσει προγράμματα εγγενούς "
"κώδικα:"

#. {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 ή Linux): η ρύθμιση του REA το εντοπίζει ή προτείνει"
" την εγκατάστασή του. Στο macOS, ανοίξτε το Hopper μία φορά και επιλέξτε "
"λειτουργία επίδειξης ή ενεργοποιήστε άδεια πριν από την πρώτη σας ανάλυση."

#. {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 ή Linux· πειραματικά στα Windows): δωρεάν, αλλά "
"χρειάζεται υπάρχουσα εγκατάσταση Ghidra 12.1.x και JDK 21 ή νεότερο, 64 bit."

#. {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): για υπάρχουσα εγκατάσταση IDA με καταχώριση 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 "Δείτε τη {ph0}ρύθμιση ανάλυσης εγγενούς κώδικα{ph1} για τα βήματα."

#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
#. {ph1}: <i>
#. {ph2}: </i>
#. {ph3}: <i>
#. {ph4}: </i>
#. {ph5}: <i>
#. {ph6}: </i>
#. {ph7}: </span >
#: website/public/guides/native/index.html: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}Ο βοηθός προγραμματισμού σας"

#: website/public/guides/native/index.html:342
#: website/public/guides/native/index.html:473
msgctxt "page:guides/native/index.html"
msgid "Copy"
msgstr "Αντιγραφή"

#. {ph0}: <span class="prompt-symbol" aria-hidden="true">
#. {ph1}: </span >
#. {ph2}: <span id="native-prompt" >
#. {ph3}: </span >
#. {ph4}: <span class="terminal-cursor" aria-hidden="true">
#. {ph5}: </span>
#: website/public/guides/native/index.html: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}Χρησιμοποιήστε το REA για να βρείτε πώς το DX-Ball "
"υπολογίζει τη στερεοφωνική θέση του ήχου. Εξηγήστε τον υπολογισμό και δείξτε"
" τον κώδικα.{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 ""
"Παράδειγμα προτροπής. Δώστε στον βοηθό σας τη διαδρομή προς το τοπικό σας "
"εκτελέσιμο DX-Ball 1.07. Το REA δεν περιλαμβάνει το DX-Ball, οπότε "
"χρησιμοποιήστε το δικό σας αντίγραφο ή κάντε την ίδιας μορφής ερώτηση για "
"ένα άλλο μικρό πρόγραμμα Windows που διαθέτετε."

#: website/public/guides/native/index.html:366
msgctxt "page:guides/native/index.html"
msgid "How do I get a file's full path?"
msgstr "Πώς βρίσκω την πλήρη διαδρομή ενός αρχείου;"

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <em>
#. {ph3}: </em>
#: website/public/guides/native/index.html: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} στην Εξερεύνηση αρχείων, κάντε δεξί κλικ στο αρχείο και "
"επιλέξτε {ph2}Copy as path{ph3}. Στα Windows 10, κρατήστε πατημένο το Shift "
"ενώ κάνετε δεξί κλικ."

#. {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} στο Finder, κάντε δεξί κλικ στο αρχείο, κρατήστε πατημένο "
"το Option και επιλέξτε {ph2}Copy \"…\" as Pathname{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}Σε κάθε σύστημα:{ph1} σύρετε το αρχείο σε ένα παράθυρο τερματικού και "
"θα εμφανιστεί η διαδρομή του."

#: website/public/guides/native/index.html:385
msgctxt "page:guides/native/index.html"
msgid "Read the REA results"
msgstr "Διαβάστε τα αποτελέσματα του REA"

#: website/public/guides/native/index.html:386
msgctxt "page:guides/native/index.html"
msgid "Read the input"
msgstr "Διαβάστε την είσοδο"

#: website/public/guides/native/index.html:389
msgctxt "page:guides/native/index.html"
msgid "REA instruction excerpt · 0x406409"
msgstr "Απόσπασμα εντολών του REA · 0x406409"

#: 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 ""
"Οι εντολές φορτώνουν ένα ακέραιο όρισμα και το μετατρέπουν για πράξεις "
"κινητής υποδιαστολής. Αυτή είναι η είσοδος που λείπει από την πρώτη προβολή "
"ψευδοκώδικα."

#: website/public/guides/native/index.html:400
msgctxt "page:guides/native/index.html"
msgid "Follow the caller"
msgstr "Ακολουθήστε την καλούσα συνάρτηση"

#: website/public/guides/native/index.html:403
msgctxt "page:guides/native/index.html"
msgid "REA caller excerpt · 0x411f5b"
msgstr "Απόσπασμα καλούσας συνάρτησης του REA · 0x411f5b"

#. {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 αναγνωρίζει την καλούσα συνάρτηση που χειρίζεται το χτύπημα του "
"τούβλου. Οι προηγούμενες εντολές της πολλαπλασιάζουν τη συντεταγμένη του "
"πλακιδίου επί 30· προσθέτοντας {ph0} (20), προκύπτει η θέση του τούβλου στην"
" οθόνη."

#: website/public/guides/native/index.html:414
msgctxt "page:guides/native/index.html"
msgid "Read the referenced constants"
msgstr "Διαβάστε τις σταθερές στις οποίες γίνεται αναφορά"

#: website/public/guides/native/index.html:417
msgctxt "page:guides/native/index.html"
msgid "REA byte results · interpreted as little-endian doubles"
msgstr ""
"Αποτελέσματα bytes του REA · ερμηνεία ως αριθμοί διπλής ακρίβειας little-"
"endian"

#: 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 ""
"Οι αριθμητικές πράξεις αναφέρονται σε αυτές τις διευθύνσεις. Η ανάγνωση των "
"bytes παρέχει τις πραγματικές τιμές· η σειρά των εντολών δείχνει στον βοηθό "
"πώς χρησιμοποιούνται."

#: website/public/guides/native/index.html:432
msgctxt "page:guides/native/index.html"
msgid "Write and check the recovered function"
msgstr "Γράψτε και ελέγξτε την ανακτημένη συνάρτηση"

#: website/public/guides/native/index.html:434
msgctxt "page:guides/native/index.html"
msgid "Recovered C · excerpt"
msgstr "Ανακτημένος κώδικας C · απόσπασμα"

#: 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 ""
"Με κλίμακα 1.0, οι θέσεις οθόνης 0, 320 και 640 αντιστοιχούν σε −500, 0 και "
"500 πριν από τη μετατροπή σε ακέραιο. Ο υπολογισμός τοποθετεί το κέντρο της "
"οθόνης στο κέντρο του στερεοφωνικού πεδίου."

#: 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 ""
"Ο βοηθός χρησιμοποίησε τα ευρήματα του REA για να γράψει τον κώδικα C. "
"Ξεχωριστοί έλεγχοι συνέκριναν 3,205 εισόδους με την αρχική συνάρτηση x86 και"
" αναπαρήγαγαν και τα 63 μεταγλωττισμένα bytes της πλήρους συνάρτησης."

#. {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}Δείτε την πλήρη διερεύνηση και τη σύγκριση assembly με C{ph1}"

#: website/public/guides/native/index.html:458
msgctxt "page:guides/native/index.html"
msgid "Try it with your own binary"
msgstr "Δοκιμάστε το με το δικό σας δυαδικό αρχείο"

#. {ph0}: <a href="../../get-started/#native" >
#. {ph1}: </a >
#: website/public/guides/native/index.html: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}Συνδέστε έναν πάροχο ανάλυσης εγγενούς κώδικα{ph1} και δώστε στον βοηθό"
" σας ένα τοπικό εκτελέσιμο ή μια βιβλιοθήκη και μια λειτουργία προς "
"διερεύνηση. Χρήσιμες αρχικές ερωτήσεις είναι «Πώς αναλύεται αυτό το αρχείο;»"
" ή «Ποια συνάρτηση χειρίζεται αυτή την ενέργεια του μενού;»"

#: 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 ""
"Αν γνωρίζετε ήδη ένα όνομα ή μια διεύθυνση συνάρτησης, μπορείτε να υποβάλετε"
" ερώτημα από το τερματικό. Για μια ρυθμισμένη εγκατάσταση Ghidra:"

#: website/public/guides/native/index.html:472
msgctxt "page:guides/native/index.html"
msgid "Function analysis"
msgstr "Ανάλυση συνάρτησης"

#. {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 ""
"Αντικαταστήστε τη διαδρομή στόχου και το {ph0} με το δικό σας όνομα ή "
"διεύθυνση συνάρτησης. Κάθε κλήση CLI εισάγει και αναλύει το δυαδικό αρχείο "
"και μετά κλείνει τη συνεδρία της. Τα ερωτήματα MCP του βοηθού σας "
"επαναχρησιμοποιούν το εισαγμένο δυαδικό αρχείο όσο αυτή η συνεδρία παραμένει"
" ανοιχτή."

#: 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 ""
"Διαβάστε τον ψευδοκώδικα μαζί με τις εντολές και τις αναφορές. Όταν ένα "
"αποτέλεσμα αφήνει μια κλήση ή τιμή ανεπίλυτη, χρησιμοποιήστε αυτή τη θέση ως"
" την επόμενη ερώτηση."

#: website/public/guides/native/index.html:6
msgctxt "page:guides/native/index.html"
msgid "Native Binary Analysis — REA"
msgstr "Ανάλυση δυαδικών αρχείων εγγενούς κώδικα — REA"

#: website/public/guides/native/index.html:7
msgctxt "page:guides/native/index.html"
msgid ""
"Recover a native calculation with REA: inspect instructions, follow a "
"caller, read constants and check reconstructed C."
msgstr ""
"Ανακτήστε έναν υπολογισμό εγγενούς κώδικα με το REA: εξετάστε εντολές, "
"ακολουθήστε μια καλούσα συνάρτηση, διαβάστε σταθερές και ελέγξτε τον "
"ανακατασκευασμένο κώδικα C."

#: website/public/guides/native/index.html:209
msgctxt "page:guides/native/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/guides/native/index.html:219
msgctxt "page:guides/native/index.html"
msgid "Native analysis"
msgstr "Ανάλυση εγγενούς κώδικα"

#: website/public/guides/native/index.html:342
msgctxt "page:guides/native/index.html"
msgid "Copy example prompt"
msgstr "Αντιγραφή παραδείγματος προτροπής"

#: website/public/guides/native/index.html:473
msgctxt "page:guides/native/index.html"
msgid "Copy function analysis"
msgstr "Αντιγραφή εντολής ανάλυσης συνάρτησης"

#: website/public/guides/native/index.html:515
msgctxt "page:guides/native/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/index.html:109
msgctxt "page:index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#: website/public/index.html:201 website/public/index.html:211
#: website/public/index.html:209
msgctxt "page:index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/index.html:202 website/public/index.html:250
msgctxt "page:index.html"
msgid "Set up REA"
msgstr "Ρύθμιση του 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}Ρύθμιση του 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}Παιχνίδι με τον δεινόσαυρο{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}Calculator{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}Δοκιμάστε το 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}Εμβαθύνετε{ph1}"

#: website/public/index.html:228
msgctxt "page:index.html"
msgid "Reverse engineering, with your coding agent"
msgstr "Αντίστροφη μηχανική, με τον βοηθό προγραμματισμού σας"

#. {ph0}: <br />
#: website/public/index.html:229
#, python-brace-format
msgctxt "page:index.html"
msgid "Find out how{ph0}software works."
msgstr "Μάθετε πώς{ph0}λειτουργεί το λογισμικό."

#: website/public/index.html:1034
msgctxt "page:index.html"
msgid "Showcases →"
msgstr "Μελέτες →"

#: website/public/index.html:251
msgctxt "page:index.html"
msgid "Copy this into your coding agent:"
msgstr "Αντιγράψτε το παρακάτω στον βοηθό προγραμματισμού σας:"

#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
#. {ph1}: <i>
#. {ph2}: </i>
#. {ph3}: <i>
#. {ph4}: </i>
#. {ph5}: <i>
#. {ph6}: </i>
#. {ph7}: </span >
#: website/public/index.html: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}Ο βοηθός προγραμματισμού σας"

#: 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 "Αντιγραφή"

#. {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}Εγκατάστησε το REA και σύνδεσέ το με αυτόν τον βοηθό "
"προγραμματισμού χρησιμοποιώντας την εντολή {ph3}. Δείξε μου το σχέδιο "
"ρύθμισης για έγκριση και, στη συνέχεια, επαλήθευσε την "
"εγκατάσταση.{ph4}{ph5}{ph6}"

#: website/public/index.html:280
msgctxt "page:index.html"
msgid "Or run this in your terminal:"
msgstr "Ή εκτελέστε την παρακάτω εντολή στο τερματικό σας:"

#: website/public/index.html:292
msgctxt "page:index.html"
msgid "Approve the setup plan, then restart your agent."
msgstr ""
"Εγκρίνετε το σχέδιο ρύθμισης και, στη συνέχεια, επανεκκινήστε τον βοηθό σας."

#. {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 ""
"Είναι η πρώτη σας φορά ή σας λείπει το {ph0} ή ένας βοηθός προγραμματισμού; "
"{ph1}Ακολουθήστε τον αναλυτικό οδηγό ρύθμισης →{ph2}"

#. {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} Αποκωδικοποίηση διακλαδώσεων"

#. {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} Ιχνηλάτηση κλήσεων"

#. {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} Ανάκτηση του κανόνα"

#. {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}Αρχικός κώδικας x64 · επιλεγμένες εντολές{ph1} {ph2}{ph3}"

#: website/public/index.html:437
msgctxt "page:index.html"
msgid "01 · Which branch?"
msgstr "01 · Ποια διακλάδωση;"

#. {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} Δύο άλματα στο ίδιο σημείο. Σε ποιους τελεστές "
"αντιστοιχούν;»"

#: website/public/index.html:442
msgctxt "page:index.html"
msgid "Look up the command IDs, then label the branch."
msgstr "Βρείτε τα αναγνωριστικά εντολών και προσδιορίστε τη διακλάδωση."

#: website/public/index.html:448
msgctxt "page:index.html"
msgid "Divide ÷"
msgstr "Διαίρεση ÷"

#: website/public/index.html:452
msgctxt "page:index.html"
msgid "Multiply ×"
msgstr "Πολλαπλασιασμός ×"

#: website/public/index.html:457
msgctxt "page:index.html"
msgid "02 · What do the calls do?"
msgstr "02 · Τι κάνουν οι κλήσεις;"

#. {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 είναι σαφές. Οι κλήσεις είναι απλώς διευθύνσεις. {ph0}Ποια εκτελεί "
"τη διαίρεση; Ποια τιμή δέχεται;{ph1}»"

#: website/public/index.html:464
msgctxt "page:index.html"
msgid "Inspect the helpers and trace the stored values."
msgstr ""
"Εξετάστε τις βοηθητικές συναρτήσεις και ιχνηλατήστε τις αποθηκευμένες τιμές."

#: website/public/index.html:474
msgctxt "page:index.html"
msgid "Divide"
msgstr "Διαίρεση"

#: website/public/index.html:479
msgctxt "page:index.html"
msgid "03 · What is the rule?"
msgstr "03 · Ποιος είναι ο κανόνας;"

#. {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 ""
"«Αυτή η διαδρομή πολλαπλασιάζει με την άλλη είσοδο. Άρα, μετά το +, {ph0}το "
"10% σημαίνει 10% του 200{ph1}.»"

#: website/public/index.html:484
msgctxt "page:index.html"
msgid "Name the operands and check both operator paths."
msgstr ""
"Προσδιορίστε τους τελεστέους και ελέγξτε και τις δύο διαδρομές τελεστών."

#: website/public/index.html:500 website/public/index.html:427
msgctxt "page:index.html"
msgid "Illustrative expert reasoning"
msgstr "Ενδεικτικός συλλογισμός αναλυτή"

#. {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}Αποκωδικοποιείτε τις εντολές, ακολουθείτε τις κλήσεις και "
"ανακατασκευάζετε τον υπολογισμό.{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}Παράδειγμα prompt · Calculator"

#. {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}Χρησιμοποίησε το REA για να εξετάσεις το Windows Calculator."
" Γιατί το {ph3} δίνει 220;{ph4}{ph5}{ph6}"

#: website/public/index.html:536
msgctxt "page:index.html"
msgid "Example answer · based on the findings"
msgstr "Παράδειγμα απάντησης · βάσει των ευρημάτων"

#. {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 ""
"Μετά το +, το κουμπί % υπολογίζει {ph0}ένα ποσοστό του πρώτου αριθμού.{ph1}"

#: website/public/index.html:552
msgctxt "page:index.html"
msgid "REA supplies"
msgstr "Το REA παρέχει"

#: website/public/index.html:553
msgctxt "page:index.html"
msgid "The handler’s instructions, decompiled code and calls."
msgstr ""
"Τις εντολές του χειριστή, τον απομεταγλωττισμένο κώδικα και τις κλήσεις."

#: website/public/index.html:558
msgctxt "page:index.html"
msgid "Your agent explains"
msgstr "Ο βοηθός σας εξηγεί"

#: website/public/index.html:559
msgctxt "page:index.html"
msgid "Which branch applies, what it calculates and how to rebuild it."
msgstr ""
"Ποια διακλάδωση εφαρμόζεται, τι υπολογίζει και πώς μπορεί να "
"ανακατασκευαστεί."

#. {ph0}: <a href="#calculator">
#. {ph1}: </a>
#: website/public/index.html: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 από το εγκατεστημένο DLL του Calculator. Οι "
"σκέψεις και η απάντηση παρουσιάζουν τα ευρήματα. {ph0}Συνεχίστε με το "
"παράδειγμα του Calculator ↓{ph1}"

#: website/public/index.html:583
msgctxt "page:index.html"
msgid "Example 01 · Chrome’s dinosaur game"
msgstr "Παράδειγμα 01 · Το παιχνίδι με τον δεινόσαυρο του Chrome"

#: website/public/index.html:584
msgctxt "page:index.html"
msgid "Why does the dinosaur get faster?"
msgstr "Γιατί επιταχύνει ο δεινόσαυρος;"

#: website/public/index.html:663
msgctxt "page:index.html"
msgid "Play"
msgstr "Έναρξη"

#: website/public/index.html:666
msgctxt "page:index.html"
msgid "Jump ↑"
msgstr "Άλμα ↑"

#: website/public/index.html:667
msgctxt "page:index.html"
msgid "Restart"
msgstr "Επανεκκίνηση"

#: website/public/index.html:670
msgctxt "page:index.html"
msgid "Speed"
msgstr "Ταχύτητα"

#: website/public/index.html:680
msgctxt "page:index.html"
msgid "Use the recovered acceleration rule"
msgstr "Χρήση του ανακτημένου κανόνα επιτάχυνσης"

#: website/public/index.html:684
msgctxt "page:index.html"
msgid "Original rule: start at 6, then increase toward 13."
msgstr "Αρχικός κανόνας: εκκίνηση από 6 και σταδιακή αύξηση προς το 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 ""
"Μετακινήστε το ρυθμιστικό για να ορίσετε τη δική σας ταχύτητα. Πατήστε Space"
" ή Άλμα για να περάσετε έναν κάκτο."

#. {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}Χρησιμοποίησε το REA για να εξετάσεις αυτό το παιχνίδι με "
"τον δεινόσαυρο. Γιατί επιταχύνει; Δείξε τον κανόνα ταχύτητας και έπειτα "
"κατασκεύασε μια μικρή έκδοση με ρυθμιζόμενη ταχύτητα.{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 ""
"Στόχος που εξετάστηκε: {ph0}η έκδοση του wayou για προγράμματα περιήγησης, η"
" οποία προέρχεται από το Chromium{ph1}."

#. {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 · φόρτωσε το {ph0} · επιλεγμένες γραμμές"

#: website/public/index.html:698
msgctxt "page:index.html"
msgid "Open the speed lab →"
msgstr "Ανοίξτε το εργαστήριο ταχύτητας →"

#: website/public/index.html:729
msgctxt "page:index.html"
msgid "What each part does"
msgstr "Τι κάνει κάθε μέρος"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <span class="flow-node">
#. {ph3}: </span >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/index.html: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}Διαβάζει το script του παιχνιδιού που "
"εκτελείται{ph3}{ph4}Επιστρέφει στον βοηθό τον πραγματικό κώδικα και τις "
"ρυθμίσεις του.{ph5}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <span class="flow-node">
#. {ph3}: </span >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/index.html: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 · Ο βοηθός σας{ph1}{ph2}Ανακατασκευάζει τον κανόνα και προσθέτει ένα"
" στοιχείο ελέγχου{ph3}{ph4}Χρησιμοποιεί την ανακτημένη επιτάχυνση σε ένα "
"μικρό παιχνίδι με ρυθμιστικό ταχύτητας.{ph5}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <span class="flow-node">
#. {ph3}: </span >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/index.html: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 · Εσείς{ph1}{ph2}Αλλάζετε την ταχύτητα και "
"παίζετε{ph3}{ph4}Δοκιμάστε την αρχική επιτάχυνση και έπειτα επιλέξτε τον "
"δικό σας ρυθμό.{ph5}"

#: website/public/index.html:704
msgctxt "page:index.html"
msgid "See the script, checks and how to try the analysis"
msgstr "Δείτε το script, τους ελέγχους και τον τρόπο εκτέλεσης της ανάλυσης"

#. {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 εξέτασε την έκδοση HTTP για πρόγραμμα περιήγησης μέσω τοπικής "
"σύνδεσης αποσφαλμάτωσης και επέστρεψε το φορτωμένο {ph0}, μαζί με τον πηγαίο"
" κώδικα και το ψηφιακό αποτύπωμά του."

#: website/public/index.html:763
msgctxt "page:index.html"
msgid "Selected settings from the inspected script"
msgstr "Επιλεγμένες ρυθμίσεις από το script που εξετάστηκε"

#: 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 ""
"Καλέσαμε τη συνάρτηση ενημέρωσης του αρχικού παιχνιδιού σε ελεγχόμενη δοκιμή"
" προγράμματος περιήγησης, με απενεργοποιημένα τα εμπόδια και τον αυτόματο "
"προγραμματισμό. Μετά από 4.000 ενημερώσεις, η ταχύτητα ήταν 10.0· μετά από "
"10.000, ήταν 13.0, με στρογγυλοποίηση στο πρώτο δεκαδικό ψηφίο."

#. {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 ""
"Το νέο μίνι παιχνίδι διατηρεί αυτόν τον κανόνα ταχύτητας. Ο κώδικας "
"σχεδίασης, άλματος και σύγκρουσης αποτελεί μια μικρή εκπαιδευτική υλοποίηση."
" {ph0}Ανοίξτε το εργαστήριο{ph1} για να δείτε τον νέο κώδικα και να "
"εκτελέσετε τον ίδιο έλεγχο ταχύτητας."

#. {ph0}: <a href="guides/browser/#prepare">
#. {ph1}: </a>
#. {ph2}: <a href="https://wayou.github.io/t-rex-runner/" >
#. {ph3}: </a >
#: website/public/index.html: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 ""
"Για να εξετάσετε μόνοι σας τον στόχο, ακολουθήστε τα {ph0}βήματα σύνδεσης με"
" το πρόγραμμα περιήγησης{ph1} χρησιμοποιώντας {ph2}τη σελίδα του "
"δεινοσαύρου{ph3}. Δώστε στον βοηθό τη διεύθυνση URL αυτής της σελίδας και το"
" τοπικό endpoint αποσφαλμάτωσης και έπειτα αντιγράψτε την παραπάνω οδηγία."

#. {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}Κώδικας ταχύτητας που εξετάστηκε{ph1} · {ph2}Chromium Authors · Άδεια "
"BSD{ph3}"

#: website/public/index.html:807
msgctxt "page:index.html"
msgid "Example 02 · Windows Calculator"
msgstr "Παράδειγμα 02 · Windows Calculator"

#: website/public/index.html:808
msgctxt "page:index.html"
msgid "Rebuild Calculator’s % button."
msgstr "Ανακατασκευάστε το κουμπί % του Calculator."

#: website/public/index.html:913
msgctxt "page:index.html"
msgid "Reset"
msgstr "Επαναφορά"

#: website/public/index.html:921
msgctxt "page:index.html"
msgid "10% of 200 = 20. Then 200 + 20 = 220."
msgstr "Το 10% του 200 είναι 20. Έπειτα, 200 + 20 = 220."

#: website/public/index.html:924
msgctxt "page:index.html"
msgid "Interactive illustration of the inspected percentage rule."
msgstr "Διαδραστική απεικόνιση του κανόνα ποσοστού που εξετάστηκε."

#. {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 "Σε αυτό το παράδειγμα, {ph0} και {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}Χρησιμοποίησε το REA για να εξετάσεις το κουμπί % του "
"Windows Calculator. Ανάκτησε τους κανόνες μετά το + και το × και έπειτα "
"κατασκεύασε μια μικρή αριθμομηχανή που χρησιμοποιεί και τους "
"δύο.{ph3}{ph4}{ph5}"

#: website/public/index.html:938
msgctxt "page:index.html"
msgid "Readable summary of the % handler"
msgstr "Ευανάγνωστη σύνοψη του χειριστή του %"

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

#. {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}Υπολογίστε το 10% του πρώτου αριθμού.{ph1}{ph2}"

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

#. {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}Μετατρέψτε το 10% σε 0.1.{ph1}{ph2}"

#: website/public/index.html:947
msgctxt "page:index.html"
msgid "From the installed app to a working % button"
msgstr "Από την εγκατεστημένη εφαρμογή σε ένα λειτουργικό κουμπί %"

#. {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 διαβάζει το {ph1}{ph2}{ph3}Εκκινεί την εφαρμογή "
"Calculator{ph4}{ph5}Ο κώδικας ανοίγει το {ph6}. Έπειτα, ο βοηθός επιλέγει τη"
" βιβλιοθήκη της εγκατεστημένης εφαρμογής.{ph7}"

#. {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 διαβάζει τη βιβλιοθήκη{ph1}{ph2}Επιστρέφει τον κώδικα του "
"χειριστή του %{ph3}{ph4}Η συνάρτηση ελέγχει τον τελεστή και χρησιμοποιεί τη "
"σταθερά {ph5}.{ph6}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <span class="flow-node">
#. {ph3}: </span >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/index.html: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 · Ο βοηθός σας τον ερμηνεύει{ph1}{ph2}Εξηγεί και αναπαράγει τους "
"κανόνες{ph3}{ph4}Διασταυρώνει τη διακλάδωση με τον πηγαίο κώδικα της "
"Microsoft και έπειτα δοκιμάζει το + και το × παραπάνω.{ph5}"

#: website/public/index.html:931
msgctxt "page:index.html"
msgid "See the real code and how the answer was checked"
msgstr "Δείτε τον πραγματικό κώδικα και πώς ελέγχθηκε η απάντηση"

#: website/public/index.html:982
msgctxt "page:index.html"
msgid "REA · selected original instructions"
msgstr "REA · επιλεγμένες εντολές του αρχικού κώδικα"

#: website/public/index.html:993
msgctxt "page:index.html"
msgid "Operator IDs · Microsoft’s source"
msgstr "Αναγνωριστικά τελεστών · Πηγαίος κώδικας της Microsoft"

#: 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 ""
"Εξετάστηκε με το REA 4.1.0: Windows Calculator 11.2508.4.0, x64. Η "
"ευανάγνωστη σύνοψη χρησιμοποιεί ονόματα από τον δημόσιο πηγαίο κώδικα της "
"Microsoft για να εξηγήσει την ανακτημένη διακλάδωση."

#. {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}Υλοποίηση ποσοστού{ph1} · {ph2}Περιπτώσεις δοκιμής της Microsoft{ph3} ·"
" {ph4}Οδηγός ρύθμισης ανάλυσης κώδικα μηχανής{ph5}"

#: website/public/index.html:1077
msgctxt "page:index.html"
msgid "Your first investigation"
msgstr "Η πρώτη σας διερεύνηση"

#: website/public/index.html:1078
msgctxt "page:index.html"
msgid "Try REA on a small app."
msgstr "Δοκιμάστε το REA σε μια μικρή εφαρμογή."

#: website/public/index.html:1079
msgctxt "page:index.html"
msgid ""
"Download our Notes example, trace its CSV export, and check one changed "
"input."
msgstr ""
"Κατεβάστε το παράδειγμα Notes, ιχνηλατήστε την εξαγωγή CSV και ελέγξτε μία "
"τροποποιημένη είσοδο."

#: website/public/index.html:1084
msgctxt "page:index.html"
msgid "Try the guided example"
msgstr "Δοκιμάστε το καθοδηγούμενο παράδειγμα"

#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
#. {ph1}: <i>
#. {ph2}: </i>
#. {ph3}: <i>
#. {ph4}: </i>
#. {ph5}: <i>
#. {ph6}: </i>
#. {ph7}: </span >
#: website/public/index.html: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}Παράδειγμα 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}Χρησιμοποίησε το REA για να εξετάσεις το {ph3}. Κλωνοποίησε "
"αυτόν τον ιστότοπο για εμένα.{ph4}{ph5}{ph6}"

#: website/public/index.html:1154
msgctxt "page:index.html"
msgid "Yes, this one."
msgstr "Ναι, αυτόν εδώ."

#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
#. {ph1}: <i>
#. {ph2}: </i>
#. {ph3}: <i>
#. {ph4}: </i>
#. {ph5}: <i>
#. {ph6}: </i>
#. {ph7}: </span >
#: website/public/index.html: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}Παράδειγμα prompt · Ανακατασκευή "
"παιχνιδιού"

#. {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}Χρησιμοποίησε το REA για να ανακατασκευάσεις αυτό το "
"παιχνίδι από το εκτελέσιμο αρχείο του. Ανάκτησε τη λογική του παιχνιδιού σε "
"C και έλεγξέ τη συγκρίνοντάς τη με το αρχικό.{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}Δείτε τη μελέτη περίπτωσης DX-Ball →{ph1}"

#: website/public/index.html:1101
msgctxt "page:index.html"
msgid "Native binaries"
msgstr "Δυαδικά αρχεία με κώδικα μηχανής"

#: website/public/index.html:1102
msgctxt "page:index.html"
msgid ""
"Inspect functions, strings, references and call relationships in executables"
" and libraries."
msgstr ""
"Εξετάστε συναρτήσεις, συμβολοσειρές, αναφορές και σχέσεις κλήσεων σε "
"εκτελέσιμα αρχεία και βιβλιοθήκες."

#: website/public/index.html:1106
msgctxt "page:index.html"
msgid "Native analysis guide"
msgstr "Οδηγός ανάλυσης κώδικα μηχανής"

#: 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 ""
"Χαρτογραφήστε modules, διαδρομές, IPC και εξαρτήσεις κώδικα μηχανής από έναν"
" φάκελο εφαρμογής ή ένα αρχείο ASAR."

#: website/public/index.html:1114
msgctxt "page:index.html"
msgid "Application workflows"
msgstr "Ροές εργασίας εφαρμογών"

#: website/public/index.html:1117
msgctxt "page:index.html"
msgid "Browser & runtime activity"
msgstr "Δραστηριότητα προγράμματος περιήγησης και χρόνου εκτέλεσης"

#: website/public/index.html:1118
msgctxt "page:index.html"
msgid ""
"Capture selected browser or process activity, then compare the results "
"across runs."
msgstr ""
"Καταγράψτε επιλεγμένη δραστηριότητα προγράμματος περιήγησης ή διεργασίας και"
" έπειτα συγκρίνετε τα αποτελέσματα μεταξύ εκτελέσεων."

#: website/public/index.html:1122
msgctxt "page:index.html"
msgid "Browser observation guide"
msgstr "Οδηγός παρατήρησης προγράμματος περιήγησης"

#: website/public/index.html:1193
msgctxt "page:index.html"
msgid "Any questions?"
msgstr "Έχετε απορίες;"

#: website/public/index.html:6
msgctxt "page:index.html"
msgid "REA — Reverse Engineering for Your Coding Agent"
msgstr "REA — Αντίστροφη μηχανική για τον βοηθό προγραμματισμού σας"

#: website/public/index.html:7
msgctxt "page:index.html"
msgid ""
"Reverse engineer apps, binaries and browser behavior with your coding agent."
" Follow clear guides and try interactive examples with REA."
msgstr ""
"Εφαρμόστε αντίστροφη μηχανική σε εφαρμογές, δυαδικά αρχεία και συμπεριφορές "
"προγραμμάτων περιήγησης με τον βοηθό προγραμματισμού σας. Ακολουθήστε σαφείς"
" οδηγούς και δοκιμάστε διαδραστικά παραδείγματα με το REA."

#: website/public/index.html:259
msgctxt "page:index.html"
msgid "Copy REA installation prompt"
msgstr "Αντιγραφή του prompt εγκατάστασης του REA"

#: website/public/index.html:283
msgctxt "page:index.html"
msgid "Copy setup command"
msgstr "Αντιγραφή της εντολής ρύθμισης"

#: website/public/index.html:363
msgctxt "page:index.html"
msgid "Follow the manual Calculator analysis"
msgstr "Παρακολούθηση της μη αυτόματης ανάλυσης του Calculator"

#: website/public/index.html:519
msgctxt "page:index.html"
msgid "Copy Calculator percentage question"
msgstr "Αντιγραφή της ερώτησης για το ποσοστό στο Calculator"

#: 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 ""
"Μίνι παιχνίδι με δεινόσαυρο. Χρησιμοποιήστε το κουμπί Άλμα ή πατήστε Space "
"όσο το παιχνίδι έχει την εστίαση."

#: website/public/index.html:600
msgctxt "page:index.html"
msgid "Copy dinosaur analysis prompt"
msgstr "Αντιγραφή του prompt ανάλυσης του δεινοσαύρου"

#: website/public/index.html:870
msgctxt "page:index.html"
msgid "Choose the calculation"
msgstr "Επιλογή υπολογισμού"

#: website/public/index.html:824
msgctxt "page:index.html"
msgid "Copy Calculator analysis prompt"
msgstr "Αντιγραφή του prompt ανάλυσης του Calculator"

#: website/public/index.html:1136
msgctxt "page:index.html"
msgid "Copy website project prompt"
msgstr "Αντιγραφή του prompt για το έργο ιστοτόπου"

#: website/public/index.html:1164
msgctxt "page:index.html"
msgid "Copy game reconstruction prompt"
msgstr "Αντιγραφή του prompt ανακατασκευής παιχνιδιού"

#: website/public/index.html:1228
msgctxt "page:index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/showcase/aegis/index.html:108
msgctxt "page:showcase/aegis/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/showcase/aegis/index.html:200
#, python-brace-format
msgctxt "page:showcase/aegis/index.html"
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / Android"
msgstr "{ph0}Αρχική{ph1} / {ph2}Μελέτες{ph3} / Android"

#: website/public/showcase/aegis/index.html:203
msgctxt "page:showcase/aegis/index.html"
msgid "Case study · Aegis Authenticator"
msgstr "Μελέτη · Aegis Authenticator"

#. {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 ""
"Πώς δημιουργεί μια εφαρμογή ελέγχου ταυτότητας{ph0}έναν κωδικό σύνδεσης;"

#: 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 ""
"Ένας εξαψήφιος κωδικός αλλάζει κάθε 30 δευτερόλεπτα. Χρησιμοποιήστε το REA "
"για να βρείτε τον υπολογισμό σε ένα Android APK και έπειτα ανακατασκευάστε "
"τον με ένα ρολόι που μπορείτε να ελέγχετε."

#: 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 · APK επίσημης έκδοσης · 6.9 MB"

#: website/public/showcase/aegis/index.html:213
msgctxt "page:showcase/aegis/index.html"
msgid "View Aegis on GitHub"
msgstr "Δείτε το Aegis στο 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 "Από ένα APK σε έναν κωδικό που μπορείτε να αναπαράγετε"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <strong class="flow-node" >
#. {ph3}: </strong >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/showcase/aegis/index.html: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 · Εντοπίστε τη λειτουργία{ph1}{ph2}3,077 κλάσεις → μέθοδοι "
"δημιουργίας{ph3}{ph4}Το REA αναζητά στο πακέτο και ακολουθεί τον κώδικα που "
"χρησιμοποιούν οι ενέργειες εμφάνισης και αντιγραφής.{ph5}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <strong class="flow-node">
#. {ph3}: </strong >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/showcase/aegis/index.html: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 · Διαβάστε τον υπολογισμό{ph1}{ph2}Χρόνος + κλειδί λογαριασμού → έξι"
" ψηφία{ph3}{ph4}Το REA επιστρέφει τις μεθόδους και τις προεπιλογές. Ο βοηθός"
" εξηγεί πώς συνδέονται.{ph5}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <strong class="flow-node">
#. {ph3}: </strong >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/showcase/aegis/index.html: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 · Ανακατασκευάστε και ελέγξτε{ph1}{ph2}Αλλάξτε το ρολόι. Παρατηρήστε"
" τον κωδικό.{ph3}{ph4}Μια νέα επίδειξη στον περιηγητή αναπαράγει τον κανόνα "
"και τον ελέγχει με δημόσια παραδείγματα αναφοράς.{ph5}"

#: website/public/showcase/aegis/index.html:251
msgctxt "page:showcase/aegis/index.html"
msgid "In this case study"
msgstr "Σε αυτή τη μελέτη"

#. {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}Ζητήστε το από τον βοηθό σας{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}Δοκιμάστε τη γεννήτρια κωδικών{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}Βρείτε τον κώδικα με το 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}Διαβάστε τον υπολογισμό{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}Ελέγξτε την ανακατασκευή{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}Εξετάστε το APK μόνοι σας{ph1}"

#: website/public/showcase/aegis/index.html:263
msgctxt "page:showcase/aegis/index.html"
msgid "Ask your agent"
msgstr "Ζητήστε το από τον βοηθό σας"

#. {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 ""
"Η εφαρμογή εμφανίζει έναν κωδικό σύνδεσης που αλλάζει. Θέλουμε να βρούμε "
"{ph0}τι τον κάνει να αλλάζει{ph1} και να αναπαράγουμε αυτή τη συμπεριφορά."

#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
#. {ph1}: <i>
#. {ph2}: </i>
#. {ph3}: <i>
#. {ph4}: </i>
#. {ph5}: <i>
#. {ph6}: </i>
#. {ph7}: </span >
#: website/public/showcase/aegis/index.html: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}Ο βοηθός προγραμματισμού σας"

#: website/public/showcase/aegis/index.html:274
#: website/public/showcase/aegis/index.html:737
msgctxt "page:showcase/aegis/index.html"
msgid "Copy"
msgstr "Αντιγραφή"

#. {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}Χρησιμοποιήστε το REA για να εξετάσετε το {ph3}. Βρείτε πώς "
"δημιουργεί τον εξαψήφιο κωδικό σύνδεσης, εξηγήστε γιατί αλλάζει κάθε 30 "
"δευτερόλεπτα και ανακατασκευάστε μια μικρή επίδειξη όπου μπορώ να αλλάζω τον"
" χρόνο.{ph4}{ph5}{ph6}"

#. {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 ""
"Παράδειγμα προτροπής για το APK που κατεβάσατε, με ρυθμισμένη την ανάλυση "
"Android του REA. {ph0}Αποκτήστε το APK και ρυθμίστε την ανάλυση ↓{ph1}"

#: website/public/showcase/aegis/index.html:302
msgctxt "page:showcase/aegis/index.html"
msgid "Try the code generator"
msgstr "Δοκιμάστε τη γεννήτρια κωδικών"

#. {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 ""
"Η εφαρμογή ομαδοποιεί τον χρόνο σε {ph0}διαστήματα 30 δευτερολέπτων.{ph1} "
"Συνδυάζει τον αριθμό του διαστήματος με το κλειδί του λογαριασμού για να "
"δημιουργήσει έναν κωδικό. Το ίδιο κλειδί και διάστημα παράγουν τον ίδιο "
"κωδικό."

#: website/public/showcase/aegis/index.html:310
msgctxt "page:showcase/aegis/index.html"
msgid "Move the clock across 60 seconds"
msgstr "Μετακινήστε το ρολόι γύρω από τα 60 δευτερόλεπτα"

#: website/public/showcase/aegis/index.html:313
msgctxt "page:showcase/aegis/index.html"
msgid "Time"
msgstr "Χρόνος"

#: website/public/showcase/aegis/index.html:315
msgctxt "page:showcase/aegis/index.html"
msgid "seconds"
msgstr "δευτερόλεπτα"

#: website/public/showcase/aegis/index.html:316
msgctxt "page:showcase/aegis/index.html"
msgid "Our adjustable example clock"
msgstr "Το ρυθμιζόμενο ρολόι του παραδείγματός μας"

#: website/public/showcase/aegis/index.html:319
msgctxt "page:showcase/aegis/index.html"
msgid "30-second block"
msgstr "Διάστημα 30 δευτερολέπτων"

#: website/public/showcase/aegis/index.html:321
#: website/public/showcase/aegis/index.html:648
msgctxt "page:showcase/aegis/index.html"
msgid "Block"
msgstr "Διάστημα"

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

#: website/public/showcase/aegis/index.html:330
msgctxt "page:showcase/aegis/index.html"
msgid "Generated code"
msgstr "Παραγόμενος κωδικός"

#: website/public/showcase/aegis/index.html:338
msgctxt "page:showcase/aegis/index.html"
msgid "Account key + block → six digits"
msgstr "Κλειδί λογαριασμού + διάστημα → έξι ψηφία"

#: website/public/showcase/aegis/index.html:344
msgctxt "page:showcase/aegis/index.html"
msgid "Example time, in seconds"
msgstr "Χρόνος παραδείγματος, σε δευτερόλεπτα"

#: 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 δευτερόλεπτα"

#: 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 δευτερόλεπτα"

#. {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 ""
"Στα 59 δευτερόλεπτα: {ph0}287082.{ph1} Στα 60 δευτερόλεπτα: "
"{ph2}359152.{ph3} Η μετακίνηση μέσα στο ίδιο διάστημα αφήνει τον κωδικό "
"αμετάβλητο."

#. {ph0}: <a href="https://www.rfc-editor.org/rfc/rfc6238.html#appendix-B" >
#. {ph1}: </a >
#: website/public/showcase/aegis/index.html: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 ""
"Το κλειδί είναι σταθερό και προέρχεται από τα δημόσια {ph0}δεδομένα δοκιμής "
"του RFC 6238{ph1}. Η επίδειξη υλοποιεί τον υπολογισμό που ανακτήθηκε από το "
"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 ""
"Το διάγραμμα δείχνει το αποτέλεσμα στα 59 δευτερόλεπτα. Ενεργοποιήστε τη "
"JavaScript για να αλλάξετε το ρολόι."

#: website/public/showcase/aegis/index.html:398
msgctxt "page:showcase/aegis/index.html"
msgid "Find the code with REA"
msgstr "Βρείτε τον κώδικα με το REA"

#: website/public/showcase/aegis/index.html:401
msgctxt "page:showcase/aegis/index.html"
msgid "Narrow the APK to three classes"
msgstr "Περιορίστε την αναζήτηση στο APK σε τρεις κλάσεις"

#: website/public/showcase/aegis/index.html:404
#: website/public/showcase/aegis/index.html:436
msgctxt "page:showcase/aegis/index.html"
msgid "Agent → REA"
msgstr "Βοηθός → REA"

#: website/public/showcase/aegis/index.html:414
msgctxt "page:showcase/aegis/index.html"
msgid "REA → agent · selected results"
msgstr "REA → βοηθός · επιλεγμένα αποτελέσματα"

#. {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} είναι υποψήφια για τον υπολογισμό· οι άλλες δύο αφορούν τη γραμμή "
"προόδου και τους εισαγόμενους λογαριασμούς. Το TOTP σημαίνει κωδικό μίας "
"χρήσης βάσει χρόνου."

#: website/public/showcase/aegis/index.html:433
msgctxt "page:showcase/aegis/index.html"
msgid "Connect the generator to the app's display"
msgstr "Συνδέστε τη γεννήτρια με την εμφάνιση στην εφαρμογή"

#: website/public/showcase/aegis/index.html:450
msgctxt "page:showcase/aegis/index.html"
msgid "REA → agent · methods and callers"
msgstr "REA → βοηθός · μέθοδοι και καλούντες"

#. {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 εντοπίζει την υπερφόρτωση με χρονική σήμανση και βρίσκει τους "
"καλούντες της βασικής μεθόδου. Η εξέταση της {ph0} δείχνει έπειτα ότι η "
"εμφάνιση καλεί τη {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 ""
"Τα αιτήματα δείχνουν μια συντομευμένη διαδρομή εισόδου. Τα ονόματα κλάσεων "
"στα αποτελέσματα παραλείπουν το κοινό πρόθεμα {ph0}."

#: website/public/showcase/aegis/index.html:476
msgctxt "page:showcase/aegis/index.html"
msgid "Read the calculation"
msgstr "Διαβάστε τον υπολογισμό"

#. {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 επιστρέφει {ph0}τη μετατροπή του χρόνου, τις προεπιλεγμένες ρυθμίσεις"
" και τις μεθόδους δημιουργίας.{ph1} Οι κατασκευαστές ορίζουν διάστημα 30 "
"δευτερολέπτων και έξι ψηφία· η μέθοδος χρονικής σήμανσης μετατρέπει τα "
"δευτερόλεπτα σε αριθμό διαστήματος."

#. {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} Χρονικό διάστημα"

#. {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} Κλειδί + διάστημα"

#. {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} Έξι ψηφία"

#: website/public/showcase/aegis/index.html:520
msgctxt "page:showcase/aegis/index.html"
msgid "REA · selected decompiled Java"
msgstr "REA · επιλεγμένος απομεταγλωττισμένος κώδικας Java"

#: website/public/showcase/aegis/index.html:550
msgctxt "page:showcase/aegis/index.html"
msgid "Readable summary · agent's interpretation"
msgstr "Ευανάγνωστη σύνοψη · ερμηνεία του βοηθού"

#. {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}Ο χρόνος επιλέγει το διάστημα.{ph1} Τα δευτερόλεπτα 30 έως 59 δίνουν "
"όλα το διάστημα 1. Στα 60 δευτερόλεπτα, το διάστημα γίνεται 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}Μετράει και το κλειδί.{ph1} Η γεννήτρια συνδυάζει το κλειδί του "
"λογαριασμού με το διάστημα. Ένας λογαριασμός με διαφορετικό κλειδί μπορεί να"
" εμφανίζει διαφορετικό κωδικό την ίδια στιγμή."

#. {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}Κρατήστε έξι ψηφία.{ph1} Το υπόλοιπο της διαίρεσης με το 1,000,000 "
"συμπληρώνεται με μηδενικά όπου χρειάζεται, οπότε ένας κωδικός μπορεί να "
"αρχίζει με 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 ""
"Αποσπάσματα από διάφορες μεθόδους που εξετάστηκαν, με αναδίπλωση γραμμών για"
" την εμφάνιση. Το δεξί πλαίσιο είναι μια επεξηγηματική σύνοψη. {ph0}Ο "
"κώδικας του Aegis διατίθεται με άδεια GPL-3.0.{ph1}"

#: website/public/showcase/aegis/index.html:596
msgctxt "page:showcase/aegis/index.html"
msgid "Inside the generator"
msgstr "Μέσα στη γεννήτρια"

#. {ph0}: <code>generateOTP</code>
#. {ph1}: <code>kotlin.ExceptionsKt</code>
#. {ph2}: <code>TotpInfo</code>
#. {ph3}: <code>HOTP</code>
#: website/public/showcase/aegis/index.html: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 ""
"Το APK της έκδοσης τοποθετεί τη {ph0} στην {ph1}. Το REA ακολουθεί την κλήση"
" από τη {ph2} και επιστρέφει αυτό το σώμα· ο αρχικός πηγαίος κώδικας "
"ονομάζει τη βοηθητική συνάρτηση {ph3}."

#: website/public/showcase/aegis/index.html:605
msgctxt "page:showcase/aegis/index.html"
msgid "REA · generateOTP, complete body"
msgstr "REA · generateOTP, πλήρες σώμα"

#: 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 ""
"Το τελευταίο byte του κατακερματισμού επιλέγει μια θέση. Τέσσερα byte σε "
"αυτή τη θέση δίνουν έναν θετικό αριθμό 31 bit· η μορφοποίηση τον περιορίζει "
"στον ζητούμενο αριθμό ψηφίων. Το τελευταίο όρισμα του κατασκευαστή επιλέγει "
"τον κλάδο μορφοποίησης κωδικού που εισήγαγε η μεταγλώττιση."

#. {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}Συγκρίνετε με τον πηγαίο κώδικα της αντίστοιχης έκδοσης{ph1}."

#: website/public/showcase/aegis/index.html:636
msgctxt "page:showcase/aegis/index.html"
msgid "Check the reconstruction"
msgstr "Ελέγξτε την ανακατασκευή"

#. {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 ""
"Συγκεντρώσαμε τις επιλεγμένες μεθόδους Java που επέστρεψε το REA σε ένα "
"μικρό πρόγραμμα δοκιμής. Η έξοδός τους συμφώνησε με μια ανεξάρτητη "
"ανακατασκευή σε {ph0}133 περιπτώσεις δοκιμής{ph1}, που περιλάμβαναν όρια "
"χρονικών διαστημάτων και κωδικούς που αρχίζουν με μηδέν."

#: website/public/showcase/aegis/index.html:647
msgctxt "page:showcase/aegis/index.html"
msgid "Example time"
msgstr "Χρόνος παραδείγματος"

#: website/public/showcase/aegis/index.html:649
msgctxt "page:showcase/aegis/index.html"
msgid "Six-digit code"
msgstr "Εξαψήφιος κωδικός"

#: website/public/showcase/aegis/index.html:654
msgctxt "page:showcase/aegis/index.html"
msgid "30 seconds"
msgstr "30 δευτερόλεπτα"

#: website/public/showcase/aegis/index.html:669
msgctxt "page:showcase/aegis/index.html"
msgid "1,111,111,109 seconds"
msgstr "1,111,111,109 δευτερόλεπτα"

#. {ph0}: <a href="https://www.rfc-editor.org/rfc/rfc6238.html#appendix-B" >
#. {ph1}: </a >
#: website/public/showcase/aegis/index.html: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 ""
"Η γεννήτρια συμφωνεί επίσης με τις έξι δημοσιευμένες περιπτώσεις αναφοράς "
"SHA-1 του {ph0}RFC 6238{ph1}. Ελέγξτε την υλοποίηση στον περιηγητή με αυτές:"

#: website/public/showcase/aegis/index.html:684
msgctxt "page:showcase/aegis/index.html"
msgid "Run reference checks"
msgstr "Εκτέλεση ελέγχων αναφοράς"

#: website/public/showcase/aegis/index.html:691
msgctxt "page:showcase/aegis/index.html"
msgid "Read the demo's calculation"
msgstr "Διαβάστε τον υπολογισμό της επίδειξης"

#: 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 ""
"Οι περιπτώσεις αναφοράς χρησιμοποιούν οκτώ ψηφία. Ο έλεγχος επαληθεύει "
"επίσης τα εξαψήφια αποτελέσματά τους."

#: 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 ""
"Η επαλήθευση εκτελεί τις εξαγόμενες μεθόδους Java και τη νέα επίδειξη. Το "
"Android APK εξετάστηκε στατικά."

#: website/public/showcase/aegis/index.html:711
msgctxt "page:showcase/aegis/index.html"
msgid "Inspect the APK yourself"
msgstr "Εξετάστε το APK μόνοι σας"

#. {ph0}: <a href="../../get-started/">
#. {ph1}: </a>
#: website/public/showcase/aegis/index.html: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}Ρυθμίστε το REA{ph1} σε macOS ή Linux και έπειτα κατεβάστε αυτά τα δύο "
"αρχεία στον ίδιο φάκελο. Στα Windows, χρησιμοποιήστε περιβάλλον Linux όπως "
"το 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 απαιτεί πλήρες JDK 17 ή νεότερο. Επιλέξτε το με το {ph0} ή"
" το {ph1}. Αυτή η μελέτη χρησιμοποίησε JDK 21."

#: website/public/showcase/aegis/index.html:723
msgctxt "page:showcase/aegis/index.html"
msgid "Download Aegis APK"
msgstr "Λήψη APK του Aegis"

#: website/public/showcase/aegis/index.html:727
msgctxt "page:showcase/aegis/index.html"
msgid "Download Android analysis provider"
msgstr "Λήψη παρόχου ανάλυσης Android"

#: 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 "Ορίστε στο REA το αρχείο του παρόχου ανάλυσης και εξετάστε το 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 ""
"Ο βοηθός σας μπορεί να συνεχίσει μέσω του CLI του REA με την παραπάνω "
"προτροπή. Για MCP, προσθέστε το {ph0} στο περιβάλλον του διακομιστή REA και "
"επανασυνδέστε τον."

#. {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 ""
"Μια επόμενη ερώτηση: {ph0}τι συμβαίνει όταν ένας λογαριασμός χρησιμοποιεί "
"οκτώ ψηφία ή διαφορετικό χρονικό διάστημα;{ph1}"

#: website/public/showcase/aegis/index.html:765
msgctxt "page:showcase/aegis/index.html"
msgid "Sources"
msgstr "Πηγές"

#. {ph0}: <a
#. href="https://github.com/beemdevelopment/Aegis/releases/tag/v3.4.3" >
#. {ph1}: </a >
#. {ph2}: <a
#. href="https://github.com/beemdevelopment/Aegis/tree/d6f4e5925a97e4e91593f1542085eae03432a759"
#. >
#. {ph3}: </a >
#. {ph4}: <a
#. href="https://github.com/beemdevelopment/Aegis/blob/d6f4e5925a97e4e91593f1542085eae03432a759/LICENSE"
#. >
#. {ph5}: </a >
#: website/public/showcase/aegis/index.html: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}Επίσημη έκδοση Aegis 3.4.3{ph1} · {ph2}Αντίστοιχο commit πηγαίου "
"κώδικα{ph3} · {ph4}Άδεια 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{ph1} · {ph2}Δεδομένα δοκιμής της "
"επίδειξης{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 ""
"Εξετάστηκε με το REA 6.1.0 στις 9 Οκτωβρίου 2026. Τα απομεταγλωττισμένα "
"αποσπάσματα αποδίδονται στο Aegis· το διάγραμμα, η ευανάγνωστη σύνοψη και η "
"ανακατασκευή στον περιηγητή αποτελούν νέο εκπαιδευτικό υλικό."

#: website/public/showcase/aegis/index.html:6
msgctxt "page:showcase/aegis/index.html"
msgid "Aegis APK Reverse Engineering: Login Codes — REA"
msgstr "Αντίστροφη μηχανική του APK Aegis: Κωδικοί σύνδεσης — 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 ""
"Εξετάστε το Android APK του Aegis με το REA, ανακτήστε τον υπολογισμό του "
"εξαψήφιου κωδικού σύνδεσης και δοκιμάστε μια ανακατασκευή με ρυθμιζόμενο "
"ρολόι."

#: website/public/showcase/aegis/index.html:250
msgctxt "page:showcase/aegis/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/showcase/aegis/index.html:261
msgctxt "page:showcase/aegis/index.html"
msgid "Aegis APK case study"
msgstr "Μελέτη του APK Aegis"

#: website/public/showcase/aegis/index.html:274
msgctxt "page:showcase/aegis/index.html"
msgid "Copy Aegis example prompt"
msgstr "Αντιγραφή παραδείγματος προτροπής για το Aegis"

#: website/public/showcase/aegis/index.html:487
msgctxt "page:showcase/aegis/index.html"
msgid "Follow the login-code calculation"
msgstr "Ακολουθήστε τον υπολογισμό του κωδικού σύνδεσης"

#: website/public/showcase/aegis/index.html:737
msgctxt "page:showcase/aegis/index.html"
msgid "Copy APK inspection command"
msgstr "Αντιγραφή εντολής εξέτασης APK"

#: website/public/showcase/aegis/index.html:814
msgctxt "page:showcase/aegis/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/showcase/ctf/index.html:107
msgctxt "page:showcase/ctf/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/showcase/ctf/index.html:199
#, python-brace-format
msgctxt "page:showcase/ctf/index.html"
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / CTF"
msgstr "{ph0}Αρχική{ph1} / {ph2}Μελέτες{ph3} / CTF"

#: website/public/showcase/ctf/index.html:202
msgctxt "page:showcase/ctf/index.html"
msgid "Case study · DownUnderCTF 2023"
msgstr "Μελέτη · 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 "Βρείτε τη σημαία σε{ph0}ένα δυαδικό αρχείο 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 ""
"Χρησιμοποιήστε το REA για να εξετάσετε ένα μικρό πρόγραμμα ελέγχου σημαίας, "
"να μετατρέψετε τους κανόνες του σε εξισώσεις και να βρείτε μια είσοδο που "
"κάνει το αρχικό πρόγραμμα να τυπώσει {ph0}."

#: website/public/showcase/ctf/index.html:209
msgctxt "page:showcase/ctf/index.html"
msgid "masked squares flag checker · Easy · Linux x86-64"
msgstr "masked squares flag checker · Εύκολο · Linux x86-64"

#: website/public/showcase/ctf/index.html:212
msgctxt "page:showcase/ctf/index.html"
msgid "View the original challenge"
msgstr "Δείτε την αρχική πρόκληση"

#: website/public/showcase/ctf/index.html:220
msgctxt "page:showcase/ctf/index.html"
msgid "From a binary to a checked answer"
msgstr "Από ένα δυαδικό αρχείο σε μια ελεγμένη απάντηση"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <strong class="flow-node">
#. {ph3}: </strong >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/showcase/ctf/index.html: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 · Βρείτε τον έλεγχο{ph1}{ph2}Συμβολοσειρές → συναρτήσεις "
"ελέγχου{ph3}{ph4}Το REA βρίσκει την προτροπή, τις αναφορές της και τον "
"κώδικα που αποδέχεται ή απορρίπτει μια είσοδο.{ph5}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <strong class="flow-node">
#. {ph3}: </strong >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/showcase/ctf/index.html: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 · Εξαγάγετε τους κανόνες{ph1}{ph2}36 χαρακτήρες · 26 "
"αθροίσματα{ph3}{ph4}Το REA επιστρέφει τις εντολές και τα δεδομένα πίσω από "
"κάθε έλεγχο. Ο βοηθός τα μετατρέπει σε εξισώσεις.{ph5}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <strong class="flow-node">
#. {ph3}: </strong >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/showcase/ctf/index.html: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 · Λύστε και εκτελέστε{ph1}{ph2}Ανακτημένη σημαία → "
"Correct!{ph3}{ph4}Ένα script Python λύνει τις εξισώσεις. Το REA καταγράφει "
"την αποδοχή του αποτελέσματος από το αρχικό πρόγραμμα.{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 ""
"Η πρόκληση είναι του joseph και δημοσιεύτηκε στο επίσημο αποθετήριο του "
"DownUnderCTF."

#: website/public/showcase/ctf/index.html:255
msgctxt "page:showcase/ctf/index.html"
msgid "In this case study"
msgstr "Σε αυτή τη μελέτη"

#. {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}Βρείτε τον κώδικα ελέγχου{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}Διαβάστε μία μάσκα{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 σε ευανάγνωστο κώδικα{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}Λύστε τις εξισώσεις{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}Ελέγξτε την απάντηση{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}Δοκιμάστε το μόνοι σας{ph1}"

#: website/public/showcase/ctf/index.html:267
msgctxt "page:showcase/ctf/index.html"
msgid "Find the checking code"
msgstr "Βρείτε τον κώδικα ελέγχου"

#. {ph0}: <code>Correct!</code>
#. {ph1}: <code>Incorrect!</code>
#: website/public/showcase/ctf/index.html: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 ""
"Το παρεχόμενο αρχείο είναι ένα εκτελέσιμο 15 KB. Ζητά μια σημαία και έπειτα "
"τυπώνει {ph0} ή {ph1}. Ξεκινήστε με ένα απλό αίτημα προς τον βοηθό σας."

#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
#. {ph1}: <i>
#. {ph2}: </i>
#. {ph3}: <i>
#. {ph4}: </i>
#. {ph5}: <i>
#. {ph6}: </i>
#. {ph7}: </span >
#: website/public/showcase/ctf/index.html: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}Ο βοηθός προγραμματισμού σας"

#: 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 "Αντιγραφή"

#. {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}Χρησιμοποιήστε το REA για να αναλύσετε το ms_flag_checker "
"και να βρείτε τη σημαία. Εξηγήστε πώς λειτουργούν οι έλεγχοι και έπειτα "
"επαληθεύστε την απάντηση με το αρχικό πρόγραμμα.{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 ""
"Παράδειγμα προτροπής, με την πρόκληση που κατεβάσατε διαθέσιμη τοπικά και "
"συνδεδεμένο πάροχο ανάλυσης κώδικα μηχανής."

#: website/public/showcase/ctf/index.html:304
msgctxt "page:showcase/ctf/index.html"
msgid "Follow the input prompt to its function"
msgstr "Ακολουθήστε την προτροπή εισόδου μέχρι τη συνάρτησή της"

#: website/public/showcase/ctf/index.html:307
#: website/public/showcase/ctf/index.html:343
msgctxt "page:showcase/ctf/index.html"
msgid "Agent → REA"
msgstr "Βοηθός → REA"

#: website/public/showcase/ctf/index.html:323
msgctxt "page:showcase/ctf/index.html"
msgid "REA → agent · selected results"
msgstr "REA → βοηθός · επιλεγμένα αποτελέσματα"

#: 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 ""
"Η αναφορά δίνει στον βοηθό ένα σημείο για διερεύνηση, παρότι τα αρχικά "
"ονόματα συναρτήσεων του εκτελέσιμου έχουν αφαιρεθεί."

#: website/public/showcase/ctf/index.html:340
msgctxt "page:showcase/ctf/index.html"
msgid "Read the checker and its two helpers"
msgstr "Διαβάστε το πρόγραμμα ελέγχου και τις δύο βοηθητικές συναρτήσεις του"

#: website/public/showcase/ctf/index.html:355
msgctxt "page:showcase/ctf/index.html"
msgid "REA → agent · selected instructions"
msgstr "REA → βοηθός · επιλεγμένες εντολές"

#. {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 ""
"Ο πρώτος βρόχος αντιγράφει 36 κωδικούς χαρακτήρων. Ο βρόχος ελέγχου "
"αποκωδικοποιεί μια μάσκα, αθροίζει τους επιλεγμένους κωδικούς και συγκρίνει "
"το αποτέλεσμα με έναν αποθηκευμένο αριθμό. Τα βήματα των {ph0} byte σε {ph1}"
" byte δίνουν 26 μάσκες."

#: 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 ""
"Αυτά είναι επιλεγμένα αποτελέσματα από νέα ανάλυση του REA. Η τοπική "
"διαδρομή του στόχου συντομεύεται για την εμφάνιση· οι διευθύνσεις "
"αναφέρονται στην εικόνα που εισήγαγε το REA."

#: website/public/showcase/ctf/index.html:384
msgctxt "page:showcase/ctf/index.html"
msgid "One check reveals one character"
msgstr "Ένας έλεγχος αποκαλύπτει έναν χαρακτήρα"

#: 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 ""
"Το πρόγραμμα ελέγχου τοποθετεί την είσοδο σε πλέγμα 6×6. Μια μάσκα επιλέγει "
"ποια κελιά συνεισφέρουν σε ένα άθροισμα. Η συμπαγής κωδικοποίησή της "
"χρησιμοποιεί αρνητικούς αριθμούς για να παραλείπει κελιά και θετικούς για να"
" τα επιλέγει."

#. {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 "Ο έβδομος έλεγχος επιλέγει μία μόνο θέση. {ph0}Ανοίξτε το σχήμα{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 "Διαβάστε τη μάσκα και την τιμή-στόχο της από το δυαδικό αρχείο"

#: website/public/showcase/ctf/index.html:418
msgctxt "page:showcase/ctf/index.html"
msgid "Agent → REA · read_bytes"
msgstr "Βοηθός → REA · read_bytes"

#: website/public/showcase/ctf/index.html:425
msgctxt "page:showcase/ctf/index.html"
msgid "REA → agent · seventh entries"
msgstr "REA → βοηθός · έβδομες εγγραφές"

#. {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 ""
"Η εντολή {ph0} διαβάζει τα byte της μάσκας ως προσημασμένες τιμές. Γι' αυτό "
"το {ph1} σημαίνει −21. Η τιμή-στόχος είναι ακέραιος little-endian. Μαζί, "
"αυτά τα byte λένε στον βοηθό ότι {ph2}, άρα ο χαρακτήρας είναι {ph3}."

#: website/public/showcase/ctf/index.html:443
msgctxt "page:showcase/ctf/index.html"
msgid "From instructions to a readable check"
msgstr "Από τις εντολές σε έναν ευανάγνωστο έλεγχο"

#: 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 ""
"Επιλέξτε ένα βήμα για να συνδέσετε τη βοηθητική συνάρτηση αθροίσματος και "
"τον καλούντα της με τον ίδιο κανόνα σε 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} Έναρξη"

#. {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} Επιλογή"

#. {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} Πρόσθεση"

#. {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} Μετάβαση"

#. {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} Σύγκριση"

#: website/public/showcase/ctf/index.html:498
msgctxt "page:showcase/ctf/index.html"
msgid "REA · selected original instructions"
msgstr "REA · επιλεγμένες αρχικές εντολές"

#: website/public/showcase/ctf/index.html:522
msgctxt "page:showcase/ctf/index.html"
msgid "Readable C · one-check summary"
msgstr "Ευανάγνωστος κώδικας C · σύνοψη ενός ελέγχου"

#. {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 · Ξεκινήστε από το μηδέν.{ph1} Ο {ph2} κρατά το τρέχον άθροισμα."

#. {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 · Ελέγξτε το κελί της μάσκας.{ph1} Η μηδενική τιμή παραλείπει τον "
"χαρακτήρα· μια μη μηδενική τιμή τον συμπεριλαμβάνει."

#. {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 · Προσθέστε έναν κωδικό χαρακτήρα.{ph1} Ο ακέραιος της εισόδου στην "
"ίδια μετατόπιση προστίθεται στο άθροισμα."

#. {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 · Μεταβείτε στο επόμενο κελί.{ph1} Ο αρχικός βρόχος προχωρά κατά "
"τέσσερα byte ανά ακέραιο και διατρέχει έξι σειρές των έξι κελιών."

#. {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 · Συγκρίνετε με την αποθηκευμένη τιμή-στόχο.{ph1} Ο καλών λαμβάνει "
"το άθροισμα στον {ph2}. Μια διαφορά οδηγεί σε άλμα στο {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 ""
"Οι εντολές προέρχονται από τη βοηθητική συνάρτηση αθροίσματος και τον "
"καλούντα της. Ο κώδικας C είναι μια επεξηγηματική σύνοψη με περιγραφικά "
"ονόματα και έναν ενιαίο βρόχο 36 κελιών."

#: website/public/showcase/ctf/index.html:583
msgctxt "page:showcase/ctf/index.html"
msgid "Solve the 26 equations"
msgstr "Λύστε τις 26 εξισώσεις"

#: 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 ""
"Οι περισσότερες μάσκες επιλέγουν πολλά κελιά. Για παράδειγμα, ο πρώτος "
"έλεγχος προσθέτει 16 κωδικούς χαρακτήρων και απαιτεί σύνολο 1441. Οι "
"αλληλεπικαλυπτόμενες επιλογές δίνουν εξισώσεις που ένα μικρό script Python "
"μπορεί να λύσει μαζί."

#: website/public/showcase/ctf/index.html:592
msgctxt "page:showcase/ctf/index.html"
msgid "Python · solver excerpt"
msgstr "Python · απόσπασμα του λύτη"

#. {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 είναι ένας λύτης που βρίσκει τιμές οι οποίες ικανοποιούν αυτές τις "
"εξισώσεις. Αυτό το απόσπασμα χρησιμοποιεί τους εξαγόμενους ελέγχους και "
"υποθέτει μια σημαία {ph0} με γράμματα, ψηφία, κάτω παύλες και άγκιστρα. Το "
"πλήρες αρχείο λήψης περιλαμβάνει και τις 26 μάσκες και τιμές-στόχους."

#: website/public/showcase/ctf/index.html:626
msgctxt "page:showcase/ctf/index.html"
msgid "Download the complete solver"
msgstr "Λήψη του πλήρους λύτη"

#: website/public/showcase/ctf/index.html:632
msgctxt "page:showcase/ctf/index.html"
msgid "Check the answer with the original program"
msgstr "Ελέγξτε την απάντηση με το αρχικό πρόγραμμα"

#. {ph0}: <code>z</code>
#. {ph1}: <code>y</code>
#: website/public/showcase/ctf/index.html: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 ""
"Η καταγραφή διεργασίας του REA καταγράφει την αποδοχή της σημαίας που "
"βρέθηκε από το αρχικό εκτελέσιμο. Η αλλαγή ενός επιλεγμένου χαρακτήρα από "
"{ph0} σε {ph1} κάνει το πρώτο άθροισμα 1440 αντί για 1441 και το πρόγραμμα "
"το απορρίπτει."

#: website/public/showcase/ctf/index.html:643
msgctxt "page:showcase/ctf/index.html"
msgid "Input"
msgstr "Είσοδος"

#: website/public/showcase/ctf/index.html:644
msgctxt "page:showcase/ctf/index.html"
msgid "Observed output"
msgstr "Παρατηρημένη έξοδος"

#: website/public/showcase/ctf/index.html:645
msgctxt "page:showcase/ctf/index.html"
msgid "Exit code"
msgstr "Κωδικός εξόδου"

#: website/public/showcase/ctf/index.html:650
msgctxt "page:showcase/ctf/index.html"
msgid "Solver's flag"
msgstr "Σημαία του λύτη"

#: website/public/showcase/ctf/index.html:655
msgctxt "page:showcase/ctf/index.html"
msgid "One character changed"
msgstr "Ένας χαρακτήρας άλλαξε"

#: website/public/showcase/ctf/index.html:663
msgctxt "page:showcase/ctf/index.html"
msgid "Show the recovered flag and captured output"
msgstr "Εμφάνιση της ανακτημένης σημαίας και της καταγεγραμμένης εξόδου"

#: website/public/showcase/ctf/index.html:666
msgctxt "page:showcase/ctf/index.html"
msgid "REA · original program output"
msgstr "REA · έξοδος αρχικού προγράμματος"

#: website/public/showcase/ctf/index.html:667
msgctxt "page:showcase/ctf/index.html"
msgid "Copy flag"
msgstr "Αντιγραφή σημαίας"

#: 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 ""
"Η ανακτημένη τιμή συμφωνεί επίσης με τη σημαία στα δημοσιευμένα μεταδεδομένα"
" της πρόκλησης των διοργανωτών, τα οποία ελέγχθηκαν μετά την επίλυση του "
"δυαδικού αρχείου."

#: website/public/showcase/ctf/index.html:685
msgctxt "page:showcase/ctf/index.html"
msgid "Source, target identity and analysis details"
msgstr "Πηγή, ταυτότητα στόχου και λεπτομέρειες ανάλυσης"

#: 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 ""
"Νέα ανάλυση και δύο καταγραφές διεργασίας στις 8 Οκτωβρίου 2026, με REA "
"4.1.0 και Ghidra 12.1.4 σε Linux x64. Το δυαδικό αρχείο είναι ELF x86-64 "
"χωρίς σύμβολα, 15,248 byte."

#: website/public/showcase/ctf/index.html:693
msgctxt "page:showcase/ctf/index.html"
msgid "Original executable · SHA-256"
msgstr "Αρχικό εκτελέσιμο · SHA-256"

#: 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 ""
"Οι αναφορές συμβολοσειρών, οι συναρτήσεις και οι σταθερές εξετάστηκαν πριν "
"διαβαστεί ο πηγαίος κώδικας ή η λύση των διοργανωτών. Ο λύτης Python και το "
"διάγραμμα δημιουργήθηκαν από αυτά τα αποτελέσματα του 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}Συγκρίνετε με τον πηγαίο κώδικα των διοργανωτών{ph1} · "
"{ph2}Μεταδεδομένα και σημαία της πρόκλησης{ph3} · {ph4}Σημειώσεις στοιχείων "
"REA{ph5}"

#: website/public/showcase/ctf/index.html:722
msgctxt "page:showcase/ctf/index.html"
msgid "Try it yourself"
msgstr "Δοκιμάστε το μόνοι σας"

#: 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 ""
"Κατεβάστε την αρχική πρόκληση και τον λύτη σε έναν φάκελο. Χρησιμοποιήστε "
"την παραπάνω προτροπή για να διερευνήσετε με τον βοηθό σας ή εκτελέστε το "
"παρεχόμενο script."

#: website/public/showcase/ctf/index.html:729
msgctxt "page:showcase/ctf/index.html"
msgid "Download the original challenge"
msgstr "Λήψη της αρχικής πρόκλησης"

#: website/public/showcase/ctf/index.html:733
msgctxt "page:showcase/ctf/index.html"
msgid "Download solver"
msgstr "Λήψη λύτη"

#: website/public/showcase/ctf/index.html:739
msgctxt "page:showcase/ctf/index.html"
msgid "Terminal · solve and run"
msgstr "Τερματικό · επίλυση και εκτέλεση"

#. {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 ""
"Το script τυπώνει μια υποψήφια σημαία· επικολλήστε τη στην προτροπή του "
"προγράμματος. Η επίλυση απαιτεί Python και {ph0}. Η εκτέλεση του αρχικού "
"εκτελέσιμου απαιτεί 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 "Ρυθμίστε το REA με τον βοηθό προγραμματισμού σας"

#: website/public/showcase/ctf/index.html:6
msgctxt "page:showcase/ctf/index.html"
msgid "CTF Reverse Engineering: DownUnderCTF Flag Checker — REA"
msgstr "Αντίστροφη μηχανική CTF: Πρόγραμμα ελέγχου σημαίας 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 ""
"Χρησιμοποιήστε το REA για να λύσετε το masked squares flag checker του "
"DownUnderCTF. Βρείτε τις συναρτήσεις ελέγχου, εξαγάγετε τις μάσκες και "
"συγκρίνετε μια ανακτημένη σημαία με το αρχικό πρόγραμμα."

#: website/public/showcase/ctf/index.html:254
msgctxt "page:showcase/ctf/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/showcase/ctf/index.html:265
msgctxt "page:showcase/ctf/index.html"
msgid "CTF flag-checker case study"
msgstr "Μελέτη προγράμματος ελέγχου σημαίας CTF"

#: website/public/showcase/ctf/index.html:280
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF example prompt"
msgstr "Αντιγραφή παραδείγματος προτροπής CTF"

#: website/public/showcase/ctf/index.html:391
msgctxt "page:showcase/ctf/index.html"
msgid "CTF mask equation; scroll horizontally on smaller screens"
msgstr "Εξίσωση μάσκας CTF· κυλήστε οριζόντια σε μικρότερες οθόνες"

#: 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 ""
"Η έβδομη μάσκα παραλείπει 21 κελιά, επιλέγει τη θέση 21 και έπειτα "
"παραλείπει 14. Μόνο αυτό το κελί συνεισφέρει στο άθροισμα. Ο απαιτούμενος "
"κωδικός χαρακτήρα του είναι 55, που σημαίνει ότι ο χαρακτήρας είναι 7."

#: website/public/showcase/ctf/index.html:449
msgctxt "page:showcase/ctf/index.html"
msgid "Follow the CTF check"
msgstr "Ακολουθήστε τον έλεγχο CTF"

#: website/public/showcase/ctf/index.html:499
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF assembly"
msgstr "Αντιγραφή εντολών assembly CTF"

#: website/public/showcase/ctf/index.html:523
msgctxt "page:showcase/ctf/index.html"
msgid "Copy readable CTF check"
msgstr "Αντιγραφή ευανάγνωστου ελέγχου CTF"

#: website/public/showcase/ctf/index.html:593
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF solver excerpt"
msgstr "Αντιγραφή αποσπάσματος λύτη CTF"

#: website/public/showcase/ctf/index.html:667
msgctxt "page:showcase/ctf/index.html"
msgid "Copy recovered flag"
msgstr "Αντιγραφή ανακτημένης σημαίας"

#: website/public/showcase/ctf/index.html:740
msgctxt "page:showcase/ctf/index.html"
msgid "Copy CTF solver commands"
msgstr "Αντιγραφή εντολών λύτη CTF"

#: website/public/showcase/ctf/index.html:783
msgctxt "page:showcase/ctf/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/showcase/dx-ball/index.html:107
msgctxt "page:showcase/dx-ball/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/showcase/dx-ball/index.html:199
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / DX-Ball"
msgstr "{ph0}Αρχική{ph1} / {ph2}Μελέτες{ph3} / DX-Ball"

#: website/public/showcase/dx-ball/index.html:202
msgctxt "page:showcase/dx-ball/index.html"
msgid "Case study · DX-Ball 1.07"
msgstr "Μελέτη · DX-Ball 1.07"

#. {ph0}: <br />
#: website/public/showcase/dx-ball/index.html:203
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "Rebuilding DX-Ball{ph0}from its executable."
msgstr "Ανακατασκευή του DX-Ball{ph0}από το εκτελέσιμό του."

#: 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 ""
"Στόχος είναι μια συντηρήσιμη έκδοση σε C του παιχνιδιού για Windows του "
"1996. Με το REA, ο βοηθός εξετάζει το πρωτότυπο, μία συνάρτηση κάθε φορά."

#: 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 ""
"Μία συνάρτηση, από το εκτελέσιμο σε ελεγμένο κώδικα C. Το REA παρέχει τις "
"εντολές, τους καλούντες και τις αναγνώσεις δεδομένων· το έργο ανακατασκευής "
"υλοποιεί και δοκιμάζει το αποτέλεσμα. {ph0}Ανοίξτε το σχήμα{ph1}"

#: website/public/showcase/dx-ball/index.html:236
msgctxt "page:showcase/dx-ball/index.html"
msgid "In this case study"
msgstr "Σε αυτή τη μελέτη"

#. {ph0}: <a href="#progress">
#. {ph1}: </a>
#: website/public/showcase/dx-ball/index.html:238
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}The project{ph1}"
msgstr "{ph0}Το έργο{ph1}"

#. {ph0}: <a href="#sound-pan">
#. {ph1}: </a>
#: website/public/showcase/dx-ball/index.html:239
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}Sound pan{ph1}"
msgstr "{ph0}Στερεοφωνική θέση του ήχου{ph1}"

#. {ph0}: <a href="#checking">
#. {ph1}: </a>
#: website/public/showcase/dx-ball/index.html:240
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}Checking the result{ph1}"
msgstr "{ph0}Έλεγχος του αποτελέσματος{ph1}"

#. {ph0}: <a href="#continue">
#. {ph1}: </a>
#: website/public/showcase/dx-ball/index.html:241
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}Continue the work{ph1}"
msgstr "{ph0}Συνεχίστε την εργασία{ph1}"

#: website/public/showcase/dx-ball/index.html:249
msgctxt "page:showcase/dx-ball/index.html"
msgid "maintained C functions"
msgstr "συντηρούμενες συναρτήσεις C"

#: website/public/showcase/dx-ball/index.html:253
msgctxt "page:showcase/dx-ball/index.html"
msgid "comparisons with original code"
msgstr "συγκρίσεις με τον αρχικό κώδικα"

#: website/public/showcase/dx-ball/index.html:257
msgctxt "page:showcase/dx-ball/index.html"
msgid "functions with matching compiled bytes"
msgstr "συναρτήσεις με ίδια μεταγλωττισμένα byte"

#. {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 ""
"Ορόσημο του έργου: 7 Οκτωβρίου 2026. {ph0}Καταγραφή προόδου{ph1} · "
"{ph2}Κάλυψη δοκιμών{ph3}"

#: website/public/showcase/dx-ball/index.html:272
msgctxt "page:showcase/dx-ball/index.html"
msgid "The project so far"
msgstr "Το έργο μέχρι σήμερα"

#: 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 ""
"Ο ανακτημένος κώδικας καλύπτει τον χειρισμό της πίστας και των πόρων, τα "
"χτυπήματα τούβλων, τα κινούμενα γραφικά, τα σωματίδια και την παραγωγή "
"μπόνους. Οι τρέχουσες μεταγλωττίσεις παρέχουν βοηθητικά εργαλεία εξέτασης "
"και μια βιβλιοθήκη ανάλυσης. Η ανάπτυξη μιας έκδοσης που μπορεί να παιχτεί "
"συνεχίζεται με τη φυσική της μπάλας και της ρακέτας, τον χειρισμό ενισχύσεων"
" και την ενσωμάτωση στα Windows."

#: website/public/showcase/dx-ball/index.html:283
msgctxt "page:showcase/dx-ball/index.html"
msgid "Finding the sound-pan calculation"
msgstr "Εύρεση του υπολογισμού της στερεοφωνικής θέσης του ήχου"

#: 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 ""
"Όταν χτυπιέται ένα τούβλο, η οριζόντια θέση του περνά στον κώδικα ήχου. Η "
"διερεύνηση έπρεπε να ανακτήσει πώς αυτή η συντεταγμένη οθόνης γίνεται τιμή "
"στερεοφωνικής τοποθέτησης αριστερά/δεξιά."

#. {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}Ο βοηθός προγραμματισμού σας"

#: 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 "Αντιγραφή"

#. {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}Χρησιμοποιήστε το REA για να βρείτε πώς το DX-Ball "
"υπολογίζει τη στερεοφωνική θέση του ήχου. Εξηγήστε τον υπολογισμό και δείξτε"
" τον κώδικα.{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 ""
"Παράδειγμα προτροπής για τον βοηθό προγραμματισμού σας, με το εκτελέσιμο "
"διαθέσιμο τοπικά. Η παρακάτω διερεύνηση δείχνει τα ερωτήματα στο REA και τα "
"στοιχεία πίσω από την απάντηση."

#: 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 ""
"Ο βοηθός χρησιμοποίησε το REA για να εξετάσει τη συνάρτηση, να ακολουθήσει "
"τον καλούντα της για τα χτυπήματα τούβλων και να διαβάσει τις σταθερές από "
"το εκτελέσιμο. Αυτά τα αποτελέσματα παρείχαν την είσοδο και την αριθμητική "
"που χρειάζονταν για τη συγγραφή της παρακάτω συνάρτησης C."

#. {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 ""
"Το πρώτο αποτέλεσμα συνάρτησης για την {ph0} περιλάμβανε ψευδοκώδικα που "
"δήλωνε {ph1} και καλούσε την {ph2}. Η προβολή εντολών του έδειχνε είσοδο στη"
" στοίβα και πράξεις κινητής υποδιαστολής. Αυτή η διαφορά έδωσε στον βοηθό "
"έναν συγκεκριμένο λόγο να συνεχίσει τη διερεύνηση."

#: website/public/showcase/dx-ball/index.html:331
msgctxt "page:showcase/dx-ball/index.html"
msgid "The first decompiler view"
msgstr "Η πρώτη προβολή του απομεταγλωττιστή"

#: website/public/showcase/dx-ball/index.html:334
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA result · pseudocode excerpt"
msgstr "Αποτέλεσμα REA · απόσπασμα ψευδοκώδικα"

#: 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 ""
"Η έξοδος δείχνει μια κλήση μετατροπής. Η ανάγνωση των παρακάτω εντολών "
"αποκαλύπτει την είσοδο και τον υπολογισμό που τροφοδοτεί αυτή την κλήση."

#: website/public/showcase/dx-ball/index.html:350
msgctxt "page:showcase/dx-ball/index.html"
msgid "Three questions answered through REA"
msgstr "Τρεις ερωτήσεις που απαντήθηκαν μέσω του REA"

#: website/public/showcase/dx-ball/index.html:353
msgctxt "page:showcase/dx-ball/index.html"
msgid "Recover the missing input"
msgstr "Ανακτήστε την είσοδο που λείπει"

#. {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 "Βοηθός → REA · {ph0}"

#: website/public/showcase/dx-ball/index.html:363
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA → agent · instruction excerpt"
msgstr "REA → βοηθός · απόσπασμα εντολών"

#. {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 ""
"Το αποτέλεσμα συνάρτησης περιλαμβάνει εντολές μαζί με ψευδοκώδικα και "
"καλούντες. Εδώ, το {ph0} αποκαλύπτει την ακέραια είσοδο που λείπει από την "
"προβολή του απομεταγλωττιστή."

#: website/public/showcase/dx-ball/index.html:377
msgctxt "page:showcase/dx-ball/index.html"
msgid "Follow the caller to understand the input"
msgstr "Ακολουθήστε τον καλούντα για να κατανοήσετε την είσοδο"

#: website/public/showcase/dx-ball/index.html:387
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA → agent · caller excerpt"
msgstr "REA → βοηθός · απόσπασμα καλούντος"

#. {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 εντόπισε αυτόν τον καλούντα στο πρώτο αποτέλεσμα. Οι προηγούμενες "
"εντολές του πολλαπλασιάζουν το {ph0} επί 30· η πρόσθεση του 20 δίνει τη "
"συντεταγμένη οθόνης του τούβλου, {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 "Διαβάστε τις τιμές πίσω από τις διευθύνσεις μνήμης"

#. {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 "Βοηθός → REA · δύο αιτήματα {ph0}"

#: website/public/showcase/dx-ball/index.html:415
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA byte results · decoded as doubles"
msgstr ""
"Αποτελέσματα byte του REA · αποκωδικοποιημένα ως αριθμοί διπλής ακρίβειας"

#: 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 ""
"Τα επιστρεφόμενα byte τεκμηριώνουν τις δύο αριθμητικές σταθερές και την "
"αρχική κλίμακα στερεοφωνικής θέσης. Ο βοηθός έχει πλέον τις τιμές που "
"χρειάζονται για την έκφραση C."

#: website/public/showcase/dx-ball/index.html:430
msgctxt "page:showcase/dx-ball/index.html"
msgid "From REA's findings to C"
msgstr "Από τα ευρήματα του REA σε 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 ""
"Ακολουθήστε τα πέντε παρακάτω βήματα. Κάθε επιλογή επισημαίνει τις αρχικές "
"εντολές και τις γραμμές C που βασίστηκαν σε αυτές."

#. {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} Είσοδος"

#. {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} Πολλαπλασιασμός"

#. {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} Αφαίρεση"

#. {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} Κλιμάκωση"

#. {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} Επιστροφή"

#: website/public/showcase/dx-ball/index.html:485
msgctxt "page:showcase/dx-ball/index.html"
msgid "Original x86 · excerpt"
msgstr "Αρχικός κώδικας x86 · απόσπασμα"

#: website/public/showcase/dx-ball/index.html:506
msgctxt "page:showcase/dx-ball/index.html"
msgid "Reconstructed C"
msgstr "Ανακατασκευασμένος κώδικας 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 · Διαβάστε την είσοδο.{ph1} Η προβολή εντολών στο αποτέλεσμα "
"συνάρτησης του REA διαβάζει το {ph2} και χρησιμοποιεί τη {ph3} για να "
"φορτώσει τον ακέραιο. Η παρακολούθηση του καλούντος μέσω του REA τεκμηριώνει"
" ότι η παράμετρος 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 · Πολλαπλασιάστε επί 1.5625.{ph1} Η {ph2} διαβάζει τον αριθμό διπλής"
" ακρίβειας στη {ph3}. Τα byte που επιστρέφει η {ph4} του REA "
"αποκωδικοποιούνται σε {ph5}· ο κώδικας C χρησιμοποιεί την ίδια σταθερά."

#. {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 · Αφαιρέστε 500.0.{ph1} Η {ph2} διαβάζει τον αριθμό διπλής ακρίβειας"
" στη {ph3}. Το αποτέλεσμα byte του REA αποκωδικοποιείται σε {ph4}, "
"μετατοπίζοντας το κέντρο του υπολογισμού στη συντεταγμένη οθόνης {ph5}."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>FMUL</code>
#. {ph3}: <code>0x4210a0</code>
#. {ph4}: <code>dxball_pan_scale</code>
#. {ph5}: <code>1.0</code>
#: website/public/showcase/dx-ball/index.html: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 · Εφαρμόστε την αποθηκευμένη κλίμακα.{ph1} Η δεύτερη {ph2} διαβάζει "
"τη {ph3}. Αυτή η καθολική μεταβλητή ονομάζεται {ph4} στον συντηρούμενο "
"πηγαίο κώδικα. Η δεύτερη ανάγνωση byte του REA τεκμηριώνει την αρχική τιμή "
"της, {ph5}."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>0x406430</code>
#. {ph3}: <code>__ftol</code>
#. {ph4}: <code>DxBallInt</code>
#: website/public/showcase/dx-ball/index.html: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 · Επιστρέψτε έναν ακέραιο.{ph1} Η κλήση στη {ph2} φτάνει στην {ph3},"
" που εντοπίστηκε στα αποτελέσματα καλούμενων συναρτήσεων του REA. Ο κώδικας "
"C μετατρέπει το αποτέλεσμα σε {ph4}· οι συγκρίσεις με τον αρχικό κώδικα x86 "
"ελέγχουν την επιστρεφόμενη τιμή."

#: 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 ""
"Το απόσπασμα assembly επιλέγει τις εντολές εισόδου, αριθμητικής και "
"επιστροφής. Η πλήρης καταγραφή παρακάτω περιλαμβάνει επίσης τις ενδιάμεσες "
"αποθηκεύσεις, την προετοιμασία και τον καθαρισμό της συνάρτησης."

#: website/public/showcase/dx-ball/index.html:574
msgctxt "page:showcase/dx-ball/index.html"
msgid "Full assembly and supporting evidence"
msgstr "Πλήρης κώδικας assembly και υποστηρικτικά στοιχεία"

#: website/public/showcase/dx-ball/index.html:577
msgctxt "page:showcase/dx-ball/index.html"
msgid "REA result · 0x406400–0x40643e"
msgstr "Αποτέλεσμα REA · 0x406400–0x40643e"

#: website/public/showcase/dx-ball/index.html:611
msgctxt "page:showcase/dx-ball/index.html"
msgid "What the caller supplies"
msgstr "Τι παρέχει ο καλών"

#. {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 ""
"Η συνάρτηση χτυπήματος τούβλου στη {ph0} πολλαπλασιάζει τη συντεταγμένη "
"πλακιδίου της επί 30, προσθέτει 20 και έπειτα την ωθεί στη στοίβα πριν από "
"την κλήση:"

#: website/public/showcase/dx-ball/index.html:626
msgctxt "page:showcase/dx-ball/index.html"
msgid "What the data reads establish"
msgstr "Τι τεκμηριώνουν οι αναγνώσεις δεδομένων"

#: 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 ""
"Αναγνώσεις byte του REA, αποκωδικοποιημένες ως αριθμοί διπλής ακρίβειας "
"little-endian"

#: website/public/showcase/dx-ball/index.html:634
msgctxt "page:showcase/dx-ball/index.html"
msgid "Address"
msgstr "Διεύθυνση"

#: website/public/showcase/dx-ball/index.html:635
msgctxt "page:showcase/dx-ball/index.html"
msgid "Value"
msgstr "Τιμή"

#: website/public/showcase/dx-ball/index.html:636
msgctxt "page:showcase/dx-ball/index.html"
msgid "Used for"
msgstr "Χρήση"

#: website/public/showcase/dx-ball/index.html:643
msgctxt "page:showcase/dx-ball/index.html"
msgid "First multiplication"
msgstr "Πρώτος πολλαπλασιασμός"

#: website/public/showcase/dx-ball/index.html:648
msgctxt "page:showcase/dx-ball/index.html"
msgid "Subtraction"
msgstr "Αφαίρεση"

#. {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} αρχικά"

#: website/public/showcase/dx-ball/index.html:653
msgctxt "page:showcase/dx-ball/index.html"
msgid "Stored pan scale"
msgstr "Αποθηκευμένη κλίμακα στερεοφωνικής θέσης"

#: 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 ""
"Καταγράφηκε με REA 4.1.0 για τον στόχο DX-Ball 1.07 που ταυτοποιείται με "
"συγκεκριμένο κατακερματισμό. Οι συνδεδεμένες σημειώσεις διερεύνησης "
"διατηρούν τα αναγνωριστικά Evidence."

#. {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}Συντηρούμενος πηγαίος κώδικας{ph1} · {ph2}Σημειώσεις διερεύνησης και "
"αναφορές στοιχείων{ph3}"

#: website/public/showcase/dx-ball/index.html:677
msgctxt "page:showcase/dx-ball/index.html"
msgid "Checking the recovered function"
msgstr "Έλεγχος της ανακτημένης συνάρτησης"

#: 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 ""
"Η ανακτημένη συνάρτηση περνά δύο ελέγχους: οι επιστρεφόμενες τιμές της "
"συμφωνούν με το πρωτότυπο και τα μεταγλωττισμένα byte της συμφωνούν με το "
"εκτελέσιμο."

#: website/public/showcase/dx-ball/index.html:684
msgctxt "page:showcase/dx-ball/index.html"
msgid "3,205 behavior cases"
msgstr "3,205 περιπτώσεις συμπεριφοράς"

#: 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 ""
"Οι δοκιμές εκτελούν την αρχική συνάρτηση x86 και συγκρίνουν την "
"επιστρεφόμενη τιμή της με τον συντηρούμενο κώδικα C. Καλύπτουν κάθε ακέραια "
"θέση από 0 έως 640 σε πέντε κλίμακες στερεοφωνικής θέσης: 0, 0.5, 1, 20 και "
"−1."

#: website/public/showcase/dx-ball/index.html:693
msgctxt "page:showcase/dx-ball/index.html"
msgid "63 matching bytes"
msgstr "63 ίδια byte"

#: 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 ""
"Η συνάρτηση C μεταγλωττίζεται με τη συγκεκριμένη αλυσίδα εργαλείων VC4.0. Η "
"αναπαραγωγή της μεταγλώττισης ταιριάζει με ολόκληρη τη συνάρτηση μετά την "
"εφαρμογή των ελεγμένων μετεγκαταστάσεων και τον έλεγχο των αναφερόμενων "
"σταθερών."

#: 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 ""
"Με κλίμακα 1, ο ανακτημένος υπολογισμός επιστρέφει −500 στο αριστερό άκρο, 0"
" στο κέντρο και 500 στο δεξί άκρο. Το επόμενο μέρος της εργασίας στον ήχο "
"είναι η ενσωμάτωση αυτής της τιμής στο υποσύστημα ήχου του παιχνιδιού."

#. {ph0}: <a href="https://github.com/N0zoM1z0/dx-
#. ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/docs/BUILD_MATCHING.md"
#. >
#. {ph1}: </a >
#: website/public/showcase/dx-ball/index.html:708
#, python-brace-format
msgctxt "page:showcase/dx-ball/index.html"
msgid "{ph0}Read the compiler replay details{ph1}"
msgstr "{ph0}Διαβάστε τις λεπτομέρειες αναπαραγωγής της μεταγλώττισης{ph1}"

#: website/public/showcase/dx-ball/index.html:717
msgctxt "page:showcase/dx-ball/index.html"
msgid "Continue the investigation"
msgstr "Συνεχίστε τη διερεύνηση"

#: 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 ""
"Η ίδια προσέγγιση χρησιμοποιείται για ενημερώσεις σωματιδίων, ουρές εκρήξεων"
" και δημιουργία μπόνους: εξέταση των σχετικών συναρτήσεων, ανάκτηση της "
"κατάστασης και των εξαρτήσεών τους και έπειτα σύγκριση της υλοποίησης με το "
"πρωτότυπο."

#: 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 ""
"Για να εξετάσετε μόνοι σας τη συνάρτηση στερεοφωνικής θέσης του ήχου, "
"ακολουθήστε τις οδηγίες εγκατάστασης του έργου DX-Ball και παρέχετε τον "
"αντίστοιχο αρχικό στόχο του. Έπειτα εκτελέστε:"

#: website/public/showcase/dx-ball/index.html:731
msgctxt "page:showcase/dx-ball/index.html"
msgid "In the DX-Ball checkout"
msgstr "Στο τοπικό αντίγραφο του αποθετηρίου DX-Ball"

#. {ph0}: <a href="https://github.com/N0zoM1z0/dx-ball" >
#. {ph1}: </a >
#. {ph2}: <span>
#. {ph3}: </span>
#: website/public/showcase/dx-ball/index.html: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}Αποθετήριο DX-Ball{ph1}{ph2}Τρέχων πηγαίος κώδικας, πρόοδος και τοπική "
"εγκατάσταση.{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}Ροή ανάλυσης REA{ph1}{ph2}Ακολουθήστε τον υπολογισμό και έπειτα "
"χρησιμοποιήστε την ίδια προσέγγιση με το δικό σας δυαδικό αρχείο.{ph3}"

#. {ph0}: <a href="https://github.com/N0zoM1z0/dx-
#. ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/docs/ENTITIES_OWNER.md"
#. >
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/showcase/dx-ball/index.html: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}Σωματίδια και παραγωγή μπόνους{ph1}{ph2}Μια μεγαλύτερη διερεύνηση της "
"κατάστασης, των ουρών και των εγγραφών pixel.{ph3}"

#: website/public/showcase/dx-ball/index.html:768
msgctxt "page:showcase/dx-ball/index.html"
msgid "Start with your own target"
msgstr "Ξεκινήστε με τον δικό σας στόχο"

#: website/public/showcase/dx-ball/index.html:6
msgctxt "page:showcase/dx-ball/index.html"
msgid "DX-Ball Reverse Engineering: Sound Panning — REA"
msgstr "Αντίστροφη μηχανική του DX-Ball: Στερεοφωνική θέση του ήχου — REA"

#: website/public/showcase/dx-ball/index.html:7
msgctxt "page:showcase/dx-ball/index.html"
msgid ""
"Follow a DX-Ball reconstruction from binary analysis through REA to "
"maintained C, original-x86 tests and matching compiled function bytes."
msgstr ""
"Ακολουθήστε μια ανακατασκευή του DX-Ball από την ανάλυση δυαδικού αρχείου "
"μέσω του REA μέχρι τον συντηρούμενο κώδικα C, τις δοκιμές με τον αρχικό "
"κώδικα x86 και τα ίδια μεταγλωττισμένα byte συνάρτησης."

#: 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· κυλήστε οριζόντια "
"σε μικρότερες οθόνες"

#: 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 ""
"Η συνάρτηση 0x00406400 του DXBALL.EXE εξετάζεται με το REA. Ένας καλών για "
"τα χτυπήματα τούβλων παρέχει 20 συν 30 επί tile_x. Οι εντολές φορτώνουν το "
"x, πολλαπλασιάζουν επί 1.5625, αφαιρούν 500.0, εφαρμόζουν το pan_scale και "
"επιστρέφουν έναν ακέραιο. Ο συντηρούμενος κώδικας C ελέγχεται ανεξάρτητα "
"έναντι του αρχικού κώδικα x86 σε 3,205 περιπτώσεις και με αναπαραγωγή "
"μεταγλώττισης VC4.0 που ταιριάζει σε 63 byte."

#: website/public/showcase/dx-ball/index.html:235
msgctxt "page:showcase/dx-ball/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/showcase/dx-ball/index.html:244
msgctxt "page:showcase/dx-ball/index.html"
msgid "DX-Ball reconstruction case study"
msgstr "Μελέτη ανακατασκευής του DX-Ball"

#: website/public/showcase/dx-ball/index.html:295
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy example prompt"
msgstr "Αντιγραφή παραδείγματος προτροπής"

#: website/public/showcase/dx-ball/index.html:436
msgctxt "page:showcase/dx-ball/index.html"
msgid "Follow the sound-pan calculation"
msgstr "Ακολουθήστε τον υπολογισμό της στερεοφωνικής θέσης του ήχου"

#: website/public/showcase/dx-ball/index.html:486
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy original assembly excerpt"
msgstr "Αντιγραφή αποσπάσματος αρχικού κώδικα assembly"

#: website/public/showcase/dx-ball/index.html:507
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy sound-pan function"
msgstr "Αντιγραφή συνάρτησης στερεοφωνικής θέσης ήχου"

#: website/public/showcase/dx-ball/index.html:578
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy complete sound-pan assembly"
msgstr "Αντιγραφή πλήρους κώδικα assembly για τη στερεοφωνική θέση του ήχου"

#: website/public/showcase/dx-ball/index.html:732
msgctxt "page:showcase/dx-ball/index.html"
msgid "Copy DX-Ball analysis command"
msgstr "Αντιγραφή εντολής ανάλυσης DX-Ball"

#: website/public/showcase/dx-ball/index.html:791
msgctxt "page:showcase/dx-ball/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/showcase/index.html:107
msgctxt "page:showcase/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {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}Αρχική{ph1} / Μελέτες"

#: website/public/showcase/index.html:200
msgctxt "page:showcase/index.html"
msgid "REA case studies."
msgstr "Μελέτες 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, παιχνίδια, Electron και μια πρόκληση CTF, με κώδικα, σχήματα και "
"ελεγμένα αποτελέσματα."

#: website/public/showcase/index.html:208
msgctxt "page:showcase/index.html"
msgid "Android · APK analysis"
msgstr "Android · Ανάλυση APK"

#: website/public/showcase/index.html:210
msgctxt "page:showcase/index.html"
msgid "How an authenticator generates a login code"
msgstr "Πώς μια εφαρμογή ελέγχου ταυτότητας δημιουργεί έναν κωδικό σύνδεσης"

#: 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 ""
"Βρείτε τον υπολογισμό του εξαψήφιου κωδικού του Aegis στο APK της έκδοσής "
"του. Ακολουθήστε τις μεθόδους δημιουργίας με το REA και έπειτα μετακινήστε "
"το ρολόι της επίδειξης για να δείτε γιατί ο κωδικός αλλάζει κάθε 30 "
"δευτερόλεπτα."

#: 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 "Κώδικας δημιουργίας"

#: website/public/showcase/index.html:219
msgctxt "page:showcase/index.html"
msgid "Recovered rule"
msgstr "Ανακτημένος κανόνας"

#: website/public/showcase/index.html:220
msgctxt "page:showcase/index.html"
msgid "Adjustable clock"
msgstr "Ρυθμιζόμενο ρολόι"

#: website/public/showcase/index.html:222
msgctxt "page:showcase/index.html"
msgid "Read the Android case study"
msgstr "Διαβάστε τη μελέτη Android"

#: website/public/showcase/index.html:226
msgctxt "page:showcase/index.html"
msgid "CTF · Native analysis"
msgstr "CTF · Ανάλυση κώδικα μηχανής"

#: website/public/showcase/index.html:228
msgctxt "page:showcase/index.html"
msgid "Solve a CTF flag checker"
msgstr "Λύστε ένα πρόγραμμα ελέγχου σημαίας CTF"

#: 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 ""
"Εξετάστε μια εύκολη πρόκληση DownUnderCTF με το REA. Βρείτε τις συναρτήσεις "
"ελέγχου της, μετατρέψτε μάσκες και αθροίσματα σε εξισώσεις και έπειτα "
"επαληθεύστε τη σημαία που βρήκατε με το αρχικό πρόγραμμα."

#: website/public/showcase/index.html:235
msgctxt "page:showcase/index.html"
msgid "Binary"
msgstr "Δυαδικό αρχείο"

#: website/public/showcase/index.html:236
msgctxt "page:showcase/index.html"
msgid "Checking code"
msgstr "Κώδικας ελέγχου"

#: website/public/showcase/index.html:237
msgctxt "page:showcase/index.html"
msgid "Equations"
msgstr "Εξισώσεις"

#: website/public/showcase/index.html:238
msgctxt "page:showcase/index.html"
msgid "Correct!"
msgstr "Correct!"

#: website/public/showcase/index.html:240
msgctxt "page:showcase/index.html"
msgid "Read the CTF case study"
msgstr "Διαβάστε τη μελέτη CTF"

#: website/public/showcase/index.html:244
msgctxt "page:showcase/index.html"
msgid "Native · Reconstruction"
msgstr "Κώδικας μηχανής · Ανακατασκευή"

#: website/public/showcase/index.html:246
msgctxt "page:showcase/index.html"
msgid "DX-Ball's sound-pan calculation"
msgstr "Ο υπολογισμός της στερεοφωνικής θέσης του ήχου στο DX-Ball"

#: 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 ""
"Ανακτήστε έναν υπολογισμό στερεοφωνικής θέσης του ήχου από ένα παιχνίδι για "
"Windows του 1996. Οι εντολές, οι αναφορές καλούντων και οι αριθμητικές "
"σταθερές του REA οδηγούν σε μια μικρή συνάρτηση C, ελεγμένη έναντι της "
"αρχικής συμπεριφοράς και των 63 μεταγλωττισμένων byte."

#: website/public/showcase/index.html:254
msgctxt "page:showcase/index.html"
msgid "Executable"
msgstr "Εκτελέσιμο"

#: website/public/showcase/index.html:255
msgctxt "page:showcase/index.html"
msgid "REA findings"
msgstr "Ευρήματα REA"

#: website/public/showcase/index.html:256
msgctxt "page:showcase/index.html"
msgid "Recovered C"
msgstr "Ανακτημένος κώδικας C"

#: website/public/showcase/index.html:257
msgctxt "page:showcase/index.html"
msgid "Validation"
msgstr "Επικύρωση"

#: website/public/showcase/index.html:259
msgctxt "page:showcase/index.html"
msgid "Read the DX-Ball case study"
msgstr "Διαβάστε τη μελέτη DX-Ball"

#: website/public/showcase/index.html:263
msgctxt "page:showcase/index.html"
msgid "Electron · Feature tracing"
msgstr "Electron · Ιχνηλάτηση λειτουργίας"

#: website/public/showcase/index.html:265
msgctxt "page:showcase/index.html"
msgid "How Notion copies text and HTML"
msgstr "Πώς το Notion αντιγράφει κείμενο και 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 ""
"Ακολουθήστε ένα API που εκτίθεται στη σελίδα μέσα από τη συσκευασμένη "
"JavaScript του Notion. Ακολουθήστε τα περιβλήματα IPC μέχρι το πρόχειρο του "
"συστήματος και έπειτα δείτε πώς ένας μικρός δείκτης HTML κρατά τα δεδομένα "
"εμπλουτισμένων μπλοκ συνδεδεμένα με ένα αντίγραφο."

#: website/public/showcase/index.html:272
msgctxt "page:showcase/index.html"
msgid "Packaged app"
msgstr "Συσκευασμένη εφαρμογή"

#: website/public/showcase/index.html:273
msgctxt "page:showcase/index.html"
msgid "Exposed API"
msgstr "Εκτεθειμένο API"

#: website/public/showcase/index.html:274
msgctxt "page:showcase/index.html"
msgid "IPC wrappers"
msgstr "Περιβλήματα IPC"

#: website/public/showcase/index.html:275
msgctxt "page:showcase/index.html"
msgid "Clipboard"
msgstr "Πρόχειρο"

#: website/public/showcase/index.html:277
msgctxt "page:showcase/index.html"
msgid "Read the Notion case study"
msgstr "Διαβάστε τη μελέτη Notion"

#: website/public/showcase/index.html:281
msgctxt "page:showcase/index.html"
msgid "PC-98 DOS · Reconstruction"
msgstr "PC-98 DOS · Ανακατασκευή"

#: website/public/showcase/index.html:283
msgctxt "page:showcase/index.html"
msgid "How TH04 aims a ring of bullets"
msgstr "Πώς το TH04 στοχεύει έναν δακτύλιο βολίδων"

#: 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 ""
"Εξετάστε την αρχική βοηθητική συνάρτηση γωνίας 16 bit με το REA. "
"Αντιστοιχίστε τις πράξεις πολλαπλασιασμού, διαίρεσης και συντεταγμένων με "
"ευανάγνωστο κώδικα C++ και έπειτα δείτε πώς παράγουν έναν δακτύλιο που "
"στοχεύει τον παίκτη."

#: website/public/showcase/index.html:290
msgctxt "page:showcase/index.html"
msgid "Original DOS code"
msgstr "Αρχικός κώδικας DOS"

#: website/public/showcase/index.html:291
msgctxt "page:showcase/index.html"
msgid "REA instructions"
msgstr "Εντολές REA"

#: website/public/showcase/index.html:292
msgctxt "page:showcase/index.html"
msgid "Angle calculation"
msgstr "Υπολογισμός γωνίας"

#: website/public/showcase/index.html:293
msgctxt "page:showcase/index.html"
msgid "Bullet ring"
msgstr "Δακτύλιος βολίδων"

#: website/public/showcase/index.html:295
msgctxt "page:showcase/index.html"
msgid "Read the TH04 case study"
msgstr "Διαβάστε τη μελέτη TH04"

#: website/public/showcase/index.html:300
msgctxt "page:showcase/index.html"
msgid "Step-by-step guides"
msgstr "Οδηγοί βήμα προς βήμα"

#: 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 ""
"Οι οδηγοί παρουσιάζουν έναν υπολογισμό σε κώδικα μηχανής, μια εξαγωγή από "
"Electron και ένα αίτημα περιηγητή. Καθένας ξεκινά με μια προτροπή και έναν "
"συγκεκριμένο στόχο."

#: website/public/showcase/index.html:305
msgctxt "page:showcase/index.html"
msgid "Read the guides"
msgstr "Διαβάστε τους οδηγούς"

#: website/public/showcase/index.html:6
msgctxt "page:showcase/index.html"
msgid "Reverse Engineering Case Studies — REA"
msgstr "Μελέτες αντίστροφης μηχανικής — REA"

#: website/public/showcase/index.html:7
msgctxt "page:showcase/index.html"
msgid ""
"Follow REA investigations through code, figures and demos: an Android "
"authenticator, DX-Ball, Notion, TH04 and a DownUnderCTF flag checker."
msgstr ""
"Ακολουθήστε διερευνήσεις του REA μέσα από κώδικα, σχήματα και επιδείξεις: "
"μια εφαρμογή ελέγχου ταυτότητας Android, το DX-Ball, το Notion, το TH04 και "
"ένα πρόγραμμα ελέγχου σημαίας DownUnderCTF."

#: website/public/showcase/index.html:323
msgctxt "page:showcase/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/showcase/notion/index.html:107
msgctxt "page:showcase/notion/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/showcase/notion/index.html:199
#, python-brace-format
msgctxt "page:showcase/notion/index.html"
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / Notion"
msgstr "{ph0}Αρχική{ph1} / {ph2}Μελέτες{ph3} / Notion"

#: website/public/showcase/notion/index.html:202
msgctxt "page:showcase/notion/index.html"
msgid "Case study · Electron"
msgstr "Μελέτη · 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 "Πώς το Notion αντιγράφει{ph0}κείμενο και 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 ""
"Ακολουθήστε μια κλήση στο πρόχειρο από το API σελίδας του Notion, μέσω της "
"προφόρτωσης και της κύριας διεργασίας, μέχρι τη λειτουργία εγγραφής στο "
"πρόχειρο του 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 "Η γέφυρα μέσα στο πακέτο της εφαρμογής υπολογιστή του 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 που εκτίθεται στη σελίδα{ph1} {ph2}{ph3}{ph4} {ph5}Η "
"προφόρτωση εκθέτει μια μέθοδο που μπορεί να κληθεί.{ph6}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span>
#. {ph2}: <span class="flow-node">
#. {ph3}: <code>ipcRenderer.invoke</code>
#. {ph4}: </span>
#. {ph5}: <span class="flow-note" >
#. {ph6}: </span >
#: website/public/showcase/notion/index.html: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 · Περίβλημα προφόρτωσης{ph1} {ph2}{ph3}{ph4} {ph5}Το περίβλημα "
"στέλνει το κανάλι και τα ορίσματα.{ph6}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span>
#. {ph2}: <span class="flow-node">
#. {ph3}: <code>ipcMain.handle</code>
#. {ph4}: </span>
#. {ph5}: <span class="flow-note" >
#. {ph6}: </span >
#: website/public/showcase/notion/index.html: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 · Χειριστής κύριας διεργασίας{ph1} {ph2}{ph3}{ph4} {ph5}Ο παραλήπτης"
" ελέγχει ποια σελίδα το έστειλε.{ph6}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span>
#. {ph2}: <span class="flow-node">
#. {ph3}: <code>clipboard.write(data)</code>
#. {ph4}: </span>
#. {ph5}: <span class="flow-note" >
#. {ph6}: </span >
#: website/public/showcase/notion/index.html: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 · Πρόχειρο συστήματος{ph1} {ph2}{ph3}{ph4} {ph5}Το Electron γράφει "
"το παρεχόμενο κείμενο και HTML.{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 "Ένα κανάλι ενώνει τις δύο πλευρές: {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 ""
"Ο συσκευασμένος κώδικας χρησιμοποιεί το ίδιο κανάλι στην προφόρτωση και την "
"κύρια διεργασία. Η εξέταση των περιβλημάτων αποκαλύπτει τις κλήσεις Electron"
" πίσω από αυτά τα ονόματα."

#: website/public/showcase/notion/index.html:256
msgctxt "page:showcase/notion/index.html"
msgid "In this case study"
msgstr "Σε αυτή τη μελέτη"

#. {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}Ακολουθήστε τη γέφυρα του προχείρου{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}Διατήρηση της δομής ενός μπλοκ{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}Περισσότερα παραδείγματα και πηγές{ph1}"

#: website/public/showcase/notion/index.html:265
msgctxt "page:showcase/notion/index.html"
msgid "Where does the copy operation go?"
msgstr "Πού καταλήγει η λειτουργία αντιγραφής;"

#. {ph0}: <code>clipboard.write</code>
#: website/public/showcase/notion/index.html: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 ""
"Η σελίδα βλέπει μια μέθοδο που ονομάζεται {ph0}. Η υλοποίησή της στην "
"προφόρτωση είναι ένα περίβλημα. Το χρήσιμο ερώτημα είναι τι στέλνει αυτό το "
"περίβλημα και ποιος κώδικας το λαμβάνει."

#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
#. {ph1}: <i>
#. {ph2}: </i>
#. {ph3}: <i>
#. {ph4}: </i>
#. {ph5}: <i>
#. {ph6}: </i>
#. {ph7}: </span >
#: website/public/showcase/notion/index.html: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}Ο βοηθός προγραμματισμού σας"

#: 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 "Αντιγραφή"

#. {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}Χρησιμοποιήστε το REA για να ακολουθήσετε πώς το Notion "
"αντιγράφει κείμενο και HTML στο πρόχειρο του συστήματος. Δείξτε τον κώδικα "
"σε κάθε βήμα.{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 ""
"Παράδειγμα προτροπής με το τοπικό πακέτο εφαρμογής του Notion διαθέσιμο στον"
" βοηθό προγραμματισμού σας."

#: website/public/showcase/notion/index.html:299
msgctxt "page:showcase/notion/index.html"
msgid "REA finds where to start reading"
msgstr "Το REA βρίσκει από πού να ξεκινήσετε την ανάγνωση"

#: 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 ""
"Η ανάλυση της προφόρτωσης καρτέλας με το REA εντοπίζει το API που εκτίθεται "
"στη σελίδα και την κλήση που στέλνει ένα αίτημα IPC. Και τα δύο ευρήματα "
"συνοδεύονται από περιοχές πηγαίου κώδικα στο ελαχιστοποιημένο πακέτο:"

#: website/public/showcase/notion/index.html:306
msgctxt "page:showcase/notion/index.html"
msgid "REA findings → two places to open"
msgstr "Ευρήματα REA → δύο σημεία για άνοιγμα"

#: website/public/showcase/notion/index.html:309
msgctxt "page:showcase/notion/index.html"
msgid "Exposed page API"
msgstr "Εκτεθειμένο API σελίδας"

#: website/public/showcase/notion/index.html:315
msgctxt "page:showcase/notion/index.html"
msgid "Renderer IPC call"
msgstr "Κλήση IPC της διεργασίας απόδοσης"

#. {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 ""
"Επιλεγμένα πεδία από νέο αποτέλεσμα {ph0} στην προφόρτωση καρτέλας του "
"Notion, καταγεγραμμένο με REA 4.1.0. Οι θέσεις χρησιμοποιούν τη γραμμή του "
"αρχικού πακέτου και τη στήλη με αρίθμηση από το μηδέν."

#. {ph0}: <code>invokerInMain</code>
#. {ph1}: <code class="notion-channel">notion:clipboard:write</code>
#: website/public/showcase/notion/index.html: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 ""
"Ο βοηθός ανοίγει αυτές τις θέσεις, βρίσκει το μέλος του προχείρου στο "
"συγκροτημένο API και διαβάζει την {ph0}. Το σημείο κλήσης της παρέχει το "
"{ph1}. Αυτό το όνομα δίνει στον βοηθό κάτι συγκεκριμένο να αναζητήσει στο "
"κύριο πακέτο. Τα τέσσερα παρακάτω αποσπάσματα δείχνουν τη διαδρομή που "
"συνδέει."

#: website/public/showcase/notion/index.html:337
msgctxt "page:showcase/notion/index.html"
msgid "Four short pieces of code"
msgstr "Τέσσερα σύντομα τμήματα κώδικα"

#: 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 ""
"Απλοποιημένα από τη συσκευασμένη JavaScript, με ευανάγνωστα ονόματα "
"μεταβλητών. Τα άσχετα μέλη παραλείπονται."

#: website/public/showcase/notion/index.html:344
msgctxt "page:showcase/notion/index.html"
msgid "Start at the API exposed to the page"
msgstr "Ξεκινήστε από το API που εκτίθεται στη σελίδα"

#. {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} · μέλος API"

#. {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 ""
"Αυτό το μέλος παρέχει το όνομα του καναλιού. Η υλοποίηση της {ph0} μας "
"δείχνει πώς το αίτημα φεύγει από τη διεργασία της σελίδας."

#: website/public/showcase/notion/index.html:373
msgctxt "page:showcase/notion/index.html"
msgid "Resolve the preload's wrapper"
msgstr "Εξετάστε το περίβλημα της προφόρτωσης"

#. {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"

#. {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 ""
"Η επιστρεφόμενη συνάρτηση προωθεί τα ορίσματα μέσω του IPC αιτήματος και "
"απόκρισης του Electron. Μπορούμε πλέον να αναζητήσουμε το {ph0} στην πλευρά "
"της κύριας διεργασίας."

#: website/public/showcase/notion/index.html:404
msgctxt "page:showcase/notion/index.html"
msgid "Check how the receiver is registered"
msgstr "Ελέγξτε πώς καταχωρίζεται ο παραλήπτης"

#. {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 "main/{ph0} · βοηθητική συνάρτηση χειριστή"

#. {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 ""
"Η κύρια διεργασία χρησιμοποιεί άλλο ένα περίβλημα. Η μέθοδός του {ph0} "
"καταχωρίζει έναν παραλήπτη {ph1} για αυτό το κανάλι."

#: website/public/showcase/notion/index.html:432
msgctxt "page:showcase/notion/index.html"
msgid "Find the write and its sender check"
msgstr "Βρείτε την εγγραφή και τον έλεγχο αποστολέα της"

#. {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 "main/{ph0} · παραλήπτης προχείρου"

#: 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 ""
"Αυτός είναι ο προορισμός. Αφού ελέγξει τον αποστολέα, ο χειριστής περνά τα "
"παρεχόμενα δεδομένα στο API προχείρου του Electron. Το κανάλι και τα δύο "
"περιβλήματα που εξετάστηκαν συνδέουν την εκτεθειμένη μέθοδο με αυτή την "
"κλήση."

#: website/public/showcase/notion/index.html:466
msgctxt "page:showcase/notion/index.html"
msgid "How does a copied block keep its structure?"
msgstr "Πώς ένα αντιγραμμένο μπλοκ διατηρεί τη δομή του;"

#. {ph0}: <code>electronApi.clipboard.write</code>
#: website/public/showcase/notion/index.html: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 ""
"Ο επεξεργαστής ιστού του Notion στέλνει κείμενο και HTML μέσω της {ph0}. "
"Κρατά τα δεδομένα του μπλοκ τοπικά και τοποθετεί ένα αναγνωριστικό στο "
"αντιγραμμένο HTML για να τα συνδέσει."

#: website/public/showcase/notion/index.html:473
msgctxt "page:showcase/notion/index.html"
msgid "HTML links to saved block data"
msgstr "Το HTML συνδέεται με αποθηκευμένα δεδομένα μπλοκ"

#: website/public/showcase/notion/index.html:477
msgctxt "page:showcase/notion/index.html"
msgid "Sent to the system clipboard"
msgstr "Αποστέλλεται στο πρόχειρο του συστήματος"

#: website/public/showcase/notion/index.html:485
msgctxt "page:showcase/notion/index.html"
msgid "Saved locally by Notion"
msgstr "Αποθηκεύεται τοπικά από το Notion"

#: website/public/showcase/notion/index.html:497
msgctxt "page:showcase/notion/index.html"
msgid "Read the HTML ID"
msgstr "Διαβάστε το αναγνωριστικό του HTML"

#: website/public/showcase/notion/index.html:498
msgctxt "page:showcase/notion/index.html"
msgid "Find the same local ID"
msgstr "Βρείτε το ίδιο τοπικό αναγνωριστικό"

#: website/public/showcase/notion/index.html:499
msgctxt "page:showcase/notion/index.html"
msgid "Restore Notion block data"
msgstr "Επαναφέρετε τα δεδομένα μπλοκ του 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 ""
"Ενδεικτικό κείμενο και αναγνωριστικό. Η καταγεγραμμένη δοκιμή μονάδας "
"επαναφέρει τα δεδομένα του μπλοκ όταν τα αναγνωριστικά συμφωνούν· μια παλιά "
"εγγραφή επιστρέφει μόνο κείμενο και 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 ""
"Κατά την επικόλληση, το Notion αναζητά το αναγνωριστικό του HTML και το "
"συγκρίνει με το αποθηκευμένο αντίγραφο. Τα ίδια αναγνωριστικά επαναφέρουν τα"
" δεδομένα του μπλοκ."

#: 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 ""
"Μορφή προχείρου καταγεγραμμένη από πόρους ιστού που αποθηκεύτηκαν στην "
"προσωρινή μνήμη στις 13 Ιουλίου 2026."

#: website/public/showcase/notion/index.html:517
msgctxt "page:showcase/notion/index.html"
msgid "More examples and sources"
msgstr "Περισσότερα παραδείγματα και πηγές"

#: website/public/showcase/notion/index.html:519
msgctxt "page:showcase/notion/index.html"
msgid "Another example: Markdown tables"
msgstr "Άλλο παράδειγμα: πίνακες 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 αναλύει το Markdown σε δεδομένα μπλοκ. Αυτό το παράδειγμα δείχνει "
"πώς ένας πίνακας γίνεται γραμμές κεφαλίδων και δεδομένων."

#: website/public/showcase/notion/index.html:525
msgctxt "page:showcase/notion/index.html"
msgid "A table through Notion's Markdown parser"
msgstr "Ένας πίνακας μέσα από τον αναλυτή Markdown του Notion"

#: website/public/showcase/notion/index.html:530
msgctxt "page:showcase/notion/index.html"
msgid "Markdown input"
msgstr "Είσοδος Markdown"

#: website/public/showcase/notion/index.html:537
msgctxt "page:showcase/notion/index.html"
msgid "Structured parser output · excerpt"
msgstr "Δομημένη έξοδος αναλυτή · απόσπασμα"

#: 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 ""
"Καταγεγραμμένη έξοδος από εξαγόμενο αναλυτή Markdown. Ο πίνακας γίνεται "
"γραμμές και κελιά."

#: website/public/showcase/notion/index.html:553
msgctxt "page:showcase/notion/index.html"
msgid "Another path: the offline SQLite connection"
msgstr "Μια άλλη διαδρομή: η σύνδεση SQLite εκτός δικτύου"

#. {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 ""
"Η διεργασία απόδοσης του Notion ζητά την {ph0} μέσω IPC. Η κύρια διεργασία "
"δημιουργεί ένα κανάλι μηνυμάτων και δίνει το ένα άκρο στη διεργασία απόδοσης"
" και το άλλο σε μια βοηθητική διεργασία SQLite. Οι επόμενες παρτίδες εντολών"
" και τα αποτελέσματα μεταφέρονται μέσω αυτού του άκρου."

#: 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 ""
"Η παρακολούθηση αυτής της παράδοσης εξηγεί πού εκτελείται η εργασία της "
"βάσης δεδομένων και γιατί η ιχνηλάτηση μόνο του αρχικού αιτήματος IPC χάνει "
"τη μεταγενέστερη επικοινωνία."

#: website/public/showcase/notion/index.html:567
msgctxt "page:showcase/notion/index.html"
msgid "Sources and how to read the excerpts"
msgstr "Πηγές και τρόπος ανάγνωσης των αποσπασμάτων"

#. {ph0}: <code>app.asar</code>
#. {ph1}: <code>main/index.js</code>
#. {ph2}: <code>isNotionWebContents</code>
#: website/public/showcase/notion/index.html: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 ""
"Η γέφυρα του προχείρου προέρχεται από το {ph0} του Notion Desktop 7.6.1: την"
" προφόρτωση καρτέλας και το {ph1}. Τα αποσπάσματα αναπτύσσουν τα "
"ελαχιστοποιημένα ονόματα μεταβλητών και παραλείπουν άσχετο κώδικα· η "
"βοηθητική συνάρτηση ελέγχου αποστολέα εμφανίζεται με την υποκείμενη κλήση "
"της {ph2}."

#. {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 ""
"Τα παραδείγματα εικονικού προχείρου και Markdown προέρχονται από πόρους "
"ιστού που αποθηκεύτηκαν στην προσωρινή μνήμη στις 13 Ιουλίου 2026, "
"συμπεριλαμβανομένων των μονάδων {ph0}, {ph1}, {ph2} και {ph3}. Αυτοί οι "
"πόροι έχουν τη δική τους έκδοση. Οι αποθηκευμένοι διερευνητικοί έλεγχοι "
"εκτέλεσαν εξαγόμενες μονάδες και μικρά προγράμματα δοκιμής· οι έξοδοί τους "
"περιγράφουν αυτούς τους ελέγχους και όχι μια καταγεγραμμένη συνεδρία του "
"γραφικού περιβάλλοντος της εφαρμογής υπολογιστή."

#: 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 ""
"Το αποτέλεσμα REA που εμφανίζεται εδώ είναι μια εστιασμένη ανάλυση της "
"αποθηκευμένης προφόρτωσης καρτέλας, καταγεγραμμένη με το δημοσιευμένο πακέτο"
" REA 4.1.0. Εντοπίζει το API και τη λειτουργία κλήσης. Το μέλος του "
"προχείρου και ο αντίστοιχος παραλήπτης συνδέονται διαβάζοντας τις "
"υλοποιήσεις των περιβλημάτων τους στο πακέτο."

#. {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 ""
"Το παράδειγμα Markdown χρησιμοποιεί τη μονάδα αναλυτή {ph0}. Οι "
"αποθηκευμένες δοκιμές μονάδας δείχνουν ότι τόσο τα φίλτρα σελίδας όσο και τα"
" φίλτρα συνομιλίας διατηρούν αυτόν τον πίνακα. Οι αναλυτές "
"επικόλλησης/εισαγωγής, δομημένου Markdown και AI/συνομιλίας έχουν ξεχωριστά "
"σημεία εισόδου και ενδιάμεσες μορφές."

#. {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}Οδηγός εφαρμογών JavaScript{ph1}{ph2}Ακολουθήστε τη λειτουργία εξαγωγής"
" μιας μικρής εφαρμογής 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{ph1}{ph2}Ακολουθήστε εντολές κώδικα μηχανής "
"μέχρι μια ελεγμένη συνάρτηση C.{ph3}"

#: website/public/showcase/notion/index.html:614
msgctxt "page:showcase/notion/index.html"
msgid "Analyze your own app"
msgstr "Αναλύστε τη δική σας εφαρμογή"

#: website/public/showcase/notion/index.html:6
msgctxt "page:showcase/notion/index.html"
msgid "Notion Electron Reverse Engineering: Clipboard — REA"
msgstr "Αντίστροφη μηχανική του Notion Electron: Πρόχειρο — REA"

#: website/public/showcase/notion/index.html:7
msgctxt "page:showcase/notion/index.html"
msgid ""
"Follow Notion's clipboard API through Electron's preload, IPC wrappers and "
"main process, with short code excerpts and a look at its rich clipboard "
"format."
msgstr ""
"Ακολουθήστε το API προχείρου του Notion μέσω της προφόρτωσης, των "
"περιβλημάτων IPC και της κύριας διεργασίας του Electron, με σύντομα "
"αποσπάσματα κώδικα και μια ματιά στη μορφή εμπλουτισμένου προχείρου του."

#: website/public/showcase/notion/index.html:255
msgctxt "page:showcase/notion/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/showcase/notion/index.html:263
msgctxt "page:showcase/notion/index.html"
msgid "Notion Electron case study"
msgstr "Μελέτη του Notion Electron"

#: website/public/showcase/notion/index.html:277
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion analysis prompt"
msgstr "Αντιγραφή προτροπής ανάλυσης Notion"

#: website/public/showcase/notion/index.html:350
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion preload excerpt"
msgstr "Αντιγραφή αποσπάσματος προφόρτωσης Notion"

#: website/public/showcase/notion/index.html:379
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion invoke wrapper excerpt"
msgstr "Αντιγραφή αποσπάσματος περιβλήματος κλήσης Notion"

#: website/public/showcase/notion/index.html:410
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion handler wrapper excerpt"
msgstr "Αντιγραφή αποσπάσματος περιβλήματος χειριστή Notion"

#: website/public/showcase/notion/index.html:438
msgctxt "page:showcase/notion/index.html"
msgid "Copy Notion clipboard receiver excerpt"
msgstr "Αντιγραφή αποσπάσματος παραλήπτη προχείρου Notion"

#: website/public/showcase/notion/index.html:493
msgctxt "page:showcase/notion/index.html"
msgid "Restoring rich clipboard data on paste"
msgstr "Επαναφορά δεδομένων εμπλουτισμένου προχείρου κατά την επικόλληση"

#: website/public/showcase/notion/index.html:637
msgctxt "page:showcase/notion/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/showcase/th04/index.html:107
msgctxt "page:showcase/th04/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {ph0}: <a href="../../">
#. {ph1}: </a>
#. {ph2}: <a href="../">
#. {ph3}: </a>
#: website/public/showcase/th04/index.html:199
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}Home{ph1} / {ph2}Showcases{ph3} / TH04"
msgstr "{ph0}Αρχική{ph1} / {ph2}Μελέτες{ph3} / TH04"

#: website/public/showcase/th04/index.html:202
msgctxt "page:showcase/th04/index.html"
msgid "Case study · Touhou 4: Lotus Land Story"
msgstr "Μελέτη · 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 "Ανακατασκευή των σχηματισμών{ph0}βολίδων του TH04."

#: 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 ""
"Ένας δακτύλιος βολίδων ξεκινά με έναν σύντομο υπολογισμό γωνίας. "
"Χρησιμοποιήστε το REA για να εξετάσετε την αρχική συνάρτηση DOS και έπειτα "
"ακολουθήστε τις εντολές της μέχρι τον ευανάγνωστο κώδικα C++."

#: 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 16 bit · C++ και assembly"

#: website/public/showcase/th04/index.html:210
msgctxt "page:showcase/th04/index.html"
msgid "View the TH04 reconstruction"
msgstr "Δείτε την ανακατασκευή του TH04"

#: website/public/showcase/th04/index.html:216
msgctxt "page:showcase/th04/index.html"
msgid "From original instructions to checked source"
msgstr "Από τις αρχικές εντολές σε ελεγμένο πηγαίο κώδικα"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <strong class="flow-node">
#. {ph3}: </strong >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/showcase/th04/index.html: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 · Αρχικό παιχνίδι{ph1}{ph2}MAIN.EXE{ph3}{ph4}Το εκτελέσιμο PC-98 και"
" η βοηθητική συνάρτηση γωνίας βολίδων.{ph5}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <strong class="flow-node">
#. {ph3}: </strong >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/showcase/th04/index.html: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 · Εξετάστε με το REA{ph1}{ph2}Εντολές + "
"αναφορές{ph3}{ph4}Επαληθεύστε τον φορτωμένο κώδικα DOS και διαβάστε τον "
"υπολογισμό γωνίας από το εκτελέσιμο.{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 · Διαβάστε τον κώδικα C++{ph1}{ph2}Κατανομή → στόχευση → "
"περιστροφή{ph3}{ph4}Συνδέστε κάθε πράξη με τη συντηρούμενη "
"ανακατασκευή.{ph5}"

#. {ph0}: <span class="flow-label">
#. {ph1}: </span >
#. {ph2}: <strong class="flow-node">
#. {ph3}: </strong >
#. {ph4}: <span class="flow-note" >
#. {ph5}: </span >
#: website/public/showcase/th04/index.html: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 · Ελέγξτε τον πηγαίο κώδικα{ph1}{ph2}2,139 ίδια byte{ph3}{ph4}Οι "
"καταγεγραμμένοι έλεγχοι μεταγλώττισης καλύπτουν τον κώδικα δημιουργίας "
"βολίδων που περιέχει αυτή τη βοηθητική συνάρτηση.{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 επιστρέφει τον αρχικό κώδικα και τα στοιχεία ανάλυσής του. Το έργο "
"TH04 παρέχει τον συντηρούμενο πηγαίο κώδικα και τους ελέγχους μεταγλώττισης."

#: website/public/showcase/th04/index.html:257
msgctxt "page:showcase/th04/index.html"
msgid "In this case study"
msgstr "Σε αυτή τη μελέτη"

#. {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}Ο δακτύλιος βολίδων{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}Τι επιστρέφει το 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}Από assembly σε 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}Έλεγχος του πηγαίου κώδικα{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}Το πλήρες έργο{ph1}"

#: website/public/showcase/th04/index.html:268
msgctxt "page:showcase/th04/index.html"
msgid "How a ring aims at the player"
msgstr "Πώς ένας δακτύλιος στοχεύει τον παίκτη"

#: 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 ""
"Η επίθεση της Elly ζητά έναν στοχευμένο δακτύλιο με αρχικό πλήθος 16. Μια "
"βοηθητική συνάρτηση υπολογίζει την κατεύθυνση κάθε βολίδας. Ο ίδιος "
"δακτύλιος μπορεί να έχει σταθερή κατεύθυνση ή να στρέφεται προς τον παίκτη."

#. {ph0}: <span class="terminal-dots" aria-hidden="true" >
#. {ph1}: <i>
#. {ph2}: </i>
#. {ph3}: <i>
#. {ph4}: </i>
#. {ph5}: <i>
#. {ph6}: </i>
#. {ph7}: </span >
#: website/public/showcase/th04/index.html: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}Ο βοηθός προγραμματισμού σας"

#: 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 "Αντιγραφή"

#. {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}Χρησιμοποιήστε το REA για να βρείτε πώς το TH04 δημιουργεί "
"έναν δακτύλιο βολίδων και τον στοχεύει στον παίκτη. Εξηγήστε τον υπολογισμό "
"και δείξτε τον κώδικα.{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 ""
"Παράδειγμα προτροπής, με το αρχικό εκτελέσιμο και το τοπικό αντίγραφο της "
"ανακατασκευής διαθέσιμα τοπικά."

#. {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 αποθηκεύει μια πλήρη δεξιόστροφη περιστροφή σε 256 μονάδες γωνίας. "
"Για 16 βολίδες, κάθε δείκτης προσθέτει 16 μονάδες: {ph0}. Η πρόσθεση της "
"κατεύθυνσης του παίκτη περιστρέφει αυτές τις θέσεις μαζί."

#. {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 ""
"Απεικόνιση της ανακτημένης αριθμητικής γωνιών για πλήθος 16, κατεύθυνση "
"παίκτη 40 και περιστροφή προτύπου 0. {ph0}Ανοίξτε το σχήμα{ph1}"

#: website/public/showcase/th04/index.html:331
msgctxt "page:showcase/th04/index.html"
msgid "The firing template in the recovered source"
msgstr "Το πρότυπο βολής στον ανακτημένο πηγαίο κώδικα"

#: website/public/showcase/th04/index.html:336
msgctxt "page:showcase/th04/index.html"
msgid "Elly's ring attack · source excerpt"
msgstr "Επίθεση δακτυλίου της Elly · απόσπασμα πηγαίου κώδικα"

#. {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 ""
"Αυτές οι γραμμές επιλέγουν τον σχηματισμό πριν από τη ρύθμιση της δυσκολίας "
"και της απόδοσης. {ph0}Διαβάστε τον πηγαίο κώδικα της επίθεσης{ph1}."

#: website/public/showcase/th04/index.html:362
msgctxt "page:showcase/th04/index.html"
msgid "What REA returns"
msgstr "Τι επιστρέφει το REA"

#. {ph0}: <code>bullet_velocity_and_angle_set()</code>
#: website/public/showcase/th04/index.html: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 ""
"Εξετάζουμε την {ph0}, τη συνάρτηση που ορίζει το διάνυσμα ταχύτητας και τη "
"γωνία κάθε βολίδας. Το REA επιστρέφει τις εντολές, τον ψευδοκώδικα και τις "
"αναφορές της. Τρία μέρη αυτού του αποτελέσματος εξηγούν τον σχηματισμό."

#: website/public/showcase/th04/index.html:371
msgctxt "page:showcase/th04/index.html"
msgid "Check the DOS image before reading its code"
msgstr "Ελέγξτε την εικόνα DOS πριν διαβάσετε τον κώδικά της"

#: website/public/showcase/th04/index.html:374
msgctxt "page:showcase/th04/index.html"
msgid "Agent → REA"
msgstr "Βοηθός → REA"

#: website/public/showcase/th04/index.html:383
msgctxt "page:showcase/th04/index.html"
msgid "REA → agent · selected fields"
msgstr "REA → βοηθός · επιλεγμένα πεδία"

#: 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 ""
"Ο έλεγχος συνδέει τον φορτωμένο κώδικα και τις εγγραφές μετεγκατάστασης με "
"το παρεχόμενο εκτελέσιμο. Η παραπάνω διαδρομή συντομεύεται για την εμφάνιση."

#: website/public/showcase/th04/index.html:398
msgctxt "page:showcase/th04/index.html"
msgid "Read the ring's multiply and divide"
msgstr "Διαβάστε τον πολλαπλασιασμό και τη διαίρεση του δακτυλίου"

#. {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 "Βοηθός → REA · {ph0}"

#: website/public/showcase/th04/index.html:408
msgctxt "page:showcase/th04/index.html"
msgid "REA → agent · instruction excerpt"
msgstr "REA → βοηθός · απόσπασμα εντολών"

#. {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} κρατά τον δείκτη της βολίδας. Η ολίσθηση τον πολλαπλασιάζει επί 256 "
"και έπειτα η διαίρεση χρησιμοποιεί το πλήθος που διαβάζεται από το {ph1}. Ο "
"συντηρούμενος πηγαίος κώδικας ονομάζει αυτό το πεδίο {ph2}. Η πλήρης "
"ακολουθία εμφανίζεται παρακάτω."

#: website/public/showcase/th04/index.html:425
msgctxt "page:showcase/th04/index.html"
msgid "Find where the pattern turns toward the player"
msgstr "Βρείτε πού ο σχηματισμός στρέφεται προς τον παίκτη"

#: website/public/showcase/th04/index.html:429
msgctxt "page:showcase/th04/index.html"
msgid "Same function result · aim excerpt"
msgstr "Ίδιο αποτέλεσμα συνάρτησης · απόσπασμα στόχευσης"

#: website/public/showcase/th04/index.html:438
msgctxt "page:showcase/th04/index.html"
msgid "Corresponding maintained C++"
msgstr "Αντίστοιχος συντηρούμενος κώδικας C++"

#: 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 ""
"Οι τελεστέοι των εντολών αποκαλύπτουν δύο διαφορές συντεταγμένων και μια "
"βοηθητική συνάρτηση κατεύθυνσης. Η επιστρεφόμενη τιμή της προστίθεται στη "
"σχετική γωνία του δακτυλίου. Τα ονόματα του πηγαίου κώδικα κάνουν αυτές τις "
"διευθύνσεις ευανάγνωστες· το REA επιτρέπει στον βοηθό να ελέγξει τις αρχικές"
" πράξεις πίσω από αυτές."

#: website/public/showcase/th04/index.html:457
msgctxt "page:showcase/th04/index.html"
msgid "From assembly to readable C++"
msgstr "Από assembly σε ευανάγνωστο κώδικα C++"

#: 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 ""
"Επιλέξτε ένα βήμα για να αντιστοιχίσετε τις αρχικές εντολές με τον "
"υπολογισμό γωνίας. Αυτή η σύνοψη ακολουθεί τη διαδρομή του στοχευμένου "
"δακτυλίου· ο πλήρης πηγαίος κώδικας χειρίζεται επίσης βεντάλιες βολίδων, "
"στοίβες και τυχαίους σχηματισμούς."

#. {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} Δείκτης"

#. {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} Κατανομή"

#. {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} Στόχευση"

#. {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} Περιστροφή"

#. {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} Αποθήκευση"

#: website/public/showcase/th04/index.html:513
msgctxt "page:showcase/th04/index.html"
msgid "REA · original 16-bit instructions"
msgstr "REA · αρχικές εντολές 16 bit"

#: website/public/showcase/th04/index.html:547
msgctxt "page:showcase/th04/index.html"
msgid "Readable C++ · aimed-ring summary"
msgstr "Ευανάγνωστος κώδικας C++ · σύνοψη στοχευμένου δακτυλίου"

#. {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 · Διαβάστε τον δείκτη της βολίδας.{ph1} Το όρισμα της στοίβας "
"φορτώνεται στον {ph2}. Σε δακτύλιο 16 βολίδων, αυτός ο δείκτης μέλους "
"κυμαίνεται από 0 έως 15."

#. {ph0}: <strong>
#. {ph1}: </strong>
#. {ph2}: <code>SHL AX,8</code>
#. {ph3}: <code>IDIV</code>
#: website/public/showcase/th04/index.html: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 · Κατανείμετε τις κατευθύνσεις σε μια πλήρη περιστροφή.{ph1} Η {ph2}"
" πολλαπλασιάζει επί 256. Το πλήθος επεκτείνεται με μηδενικά σε μια λέξη και "
"έπειτα η {ph3} διαιρεί το γινόμενο με αυτό το πλήθος. Για πλήθος 16, κάθε "
"δείκτης προχωρά κατά 16 μονάδες γωνίας."

#. {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 · Προσθέστε την κατεύθυνση του παίκτη.{ph1} Οι δύο αφαιρέσεις "
"σχηματίζουν συντεταγμένες παίκτη μείον αρχής. Η βοηθητική συνάρτηση "
"κατεύθυνσης επιστρέφει μια γωνία στον {ph2}· η πρόσθεσή της στρέφει ολόκληρο"
" τον δακτύλιο προς τον παίκτη."

#. {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 · Προσθέστε την περιστροφή του σχηματισμού.{ph1} Η {ph2} προσθέτει "
"τη γωνία του προτύπου. Το αρχικό πρότυπο της Elly την ορίζει σε μηδέν· άλλοι"
" σχηματισμοί μπορούν να χρησιμοποιούν την ίδια βοηθητική συνάρτηση με "
"περιστροφή."

#. {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 · Κρατήστε την τελική γωνία σε ένα byte.{ph1} Η αποθήκευση γράφει "
"τον {ph2} στο πεδίο γωνίας δημιουργίας. Οι τιμές επανέρχονται στο μηδέν μετά"
" το 255, όπως και η μετατροπή σε μη προσημασμένο byte. Ο περιβάλλων πηγαίος "
"κώδικας μετατρέπει επίσης αυτή τη γωνία και το μέτρο ταχύτητας σε διάνυσμα "
"ταχύτητας."

#: 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 ""
"Ο κώδικας assembly επιλέγει τον κλάδο στοχευμένου δακτυλίου, τον υπολογισμό "
"στόχευσης και την τελική αποθήκευση. Ο παραπάνω κώδικας C++ είναι μια "
"ευανάγνωστη σύνοψη. Οι παρακάτω έλεγχοι μεταγλώττισης αφορούν τον "
"συντηρούμενο πηγαίο κώδικα στο συνδεδεμένο έργο."

#: website/public/showcase/th04/index.html:615
msgctxt "page:showcase/th04/index.html"
msgid "Read the maintained ring and aim source"
msgstr "Διαβάστε τον συντηρούμενο πηγαίο κώδικα δακτυλίου και στόχευσης"

#: website/public/showcase/th04/index.html:618
msgctxt "page:showcase/th04/index.html"
msgid "Ring macro · TH04 branch, excerpt"
msgstr "Μακροεντολή δακτυλίου · κλάδος TH04, απόσπασμα"

#: website/public/showcase/th04/index.html:628
msgctxt "page:showcase/th04/index.html"
msgid "Angle and velocity · source excerpt"
msgstr "Γωνία και διάνυσμα ταχύτητας · απόσπασμα πηγαίου κώδικα"

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/src/main/bullet/add_impl.hpp#L4"
#. >
#. {ph1}: </a >
#. {ph2}: <a
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/src/main/bullet/add.cpp#L422"
#. >
#. {ph3}: </a >
#. {ph4}: <a
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/src/main/bullet/types.hpp#L6"
#. >
#. {ph5}: </a >
#: website/public/showcase/th04/index.html: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}Μακροεντολή δακτυλίου{ph1} · {ph2}Πηγαίος κώδικας στόχευσης και "
"διανύσματος ταχύτητας{ph3} · {ph4}Αναπαράσταση γωνίας{ph5}"

#: website/public/showcase/th04/index.html:664
msgctxt "page:showcase/th04/index.html"
msgid "Checking the maintained source"
msgstr "Έλεγχος του συντηρούμενου πηγαίου κώδικα"

#: 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 ""
"Οι καταγεγραμμένοι έλεγχοι του έργου TH04 μεταγλωττίζουν τον κώδικα "
"δημιουργίας βολίδων, μαζί με αυτή τη βοηθητική συνάρτηση, με τη συγκεκριμένη"
" αλυσίδα εργαλείων Turbo C++ 4.0J."

#: website/public/showcase/th04/index.html:672
msgctxt "page:showcase/th04/index.html"
msgid "2,139 matching bytes"
msgstr "2,139 ίδια byte"

#: 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 ""
"Ο μεταγλωττισμένος κώδικας δημιουργίας βολίδων συμφωνεί με ένα τμήμα 2,139 "
"byte του αρχικού εκτελέσιμου."

#: website/public/showcase/th04/index.html:679
msgctxt "page:showcase/th04/index.html"
msgid "Two clean builds"
msgstr "Δύο καθαρές μεταγλωττίσεις"

#: 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 ""
"Δύο ξεχωριστές μεταγλωττίσεις παράγουν τα ίδια byte που συμφωνούν με το "
"πρωτότυπο. Οι καταγεγραμμένοι κατακερματισμοί εισόδου συμφωνούν με τον "
"συντηρούμενο πηγαίο κώδικα που εμφανίζεται εδώ."

#. {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 ""
"Καταγράφηκε στις 3 Οκτωβρίου 2026. {ph0}Διαβάστε τους ελέγχους "
"μεταγλώττισης{ph1}."

#: website/public/showcase/th04/index.html:694
msgctxt "page:showcase/th04/index.html"
msgid "Target identity and analysis scope"
msgstr "Ταυτότητα στόχου και πεδίο ανάλυσης"

#: website/public/showcase/th04/index.html:699
msgctxt "page:showcase/th04/index.html"
msgid "Original target"
msgstr "Αρχικός στόχος"

#. {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 "Σημείο εισόδου βοηθητικής συνάρτησης"

#. {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} στη φορτωμένη εικόνα του REA"

#: website/public/showcase/th04/index.html:707
msgctxt "page:showcase/th04/index.html"
msgid "Original file offset"
msgstr "Μετατόπιση στο αρχικό αρχείο"

#. {ph0}: <code>0x1e7c8</code>
#. {ph1}: <code>address_to_file_offset</code>
#: website/public/showcase/th04/index.html:708
#, python-brace-format
msgctxt "page:showcase/th04/index.html"
msgid "{ph0}, returned by {ph1}"
msgstr "{ph0}, επιστρέφεται από την {ph1}"

#: website/public/showcase/th04/index.html:714
msgctxt "page:showcase/th04/index.html"
msgid "Recorded code inspection"
msgstr "Καταγεγραμμένη εξέταση κώδικα"

#: 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 Οκτωβρίου 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 ""
"Οι έλεγχοι μεταγλώττισης καλύπτουν ολόκληρο το τμήμα κώδικα προσθήκης "
"βολίδων, μαζί με αυτή τη βοηθητική συνάρτηση. Συγκρίνουν επίσης τη "
"συνεισφορά του στο MAP και την επικαλυπτόμενη μετεγκατάσταση."

#. {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 επαλήθευσε τη στατική εικόνα φόρτωσης DOS στο τμήμα φόρτωσης {ph0}. "
"Οι διευθύνσεις του περιγράφουν αυτή την εικόνα ανάλυσης. Το αποτέλεσμα "
"συνάρτησης αναφέρει 503 byte σώματος σε δύο περιοχές μέσα σε έκταση 517 "
"byte· οι παραπάνω επιλεγμένες εντολές βρίσκονται μέσα σε αυτές τις "
"αναφερόμενες περιοχές."

#. {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 ""
"Τα ονόματα του πηγαίου κώδικα και οι έλεγχοι μεταγλώττισης προέρχονται από "
"το ορόσημο TH04 {ph0}. Προηγούμενες παρατηρήσεις ανακατασκευής "
"χρησιμοποίησαν τα script ανάλυσης του ίδιου του έργου· αυτή η σελίδα "
"προσθέτει μια νέα εξέταση REA του ίδιου αρχικού στόχου. Η ταυτότητα του "
"παρεχόμενου παιχνιδιού καθορίζεται από το δηλωτικό του αποθετηρίου του, ενώ "
"η ανεξάρτητη τεκμηρίωση προέλευσης ενός ανέπαφου αντιγράφου παραμένει "
"ανοικτή."

#: 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 ""
"Το σχήμα απεικονίζει τον υπολογισμό γωνίας. Ο χειρισμός του πλήρους "
"παιχνιδιού, ο χρονισμός και η συμπεριφορά του υλικού PC-98 έχουν ξεχωριστούς"
" ελέγχους κατά την εκτέλεση στο έργο ανακατασκευής."

#: website/public/showcase/th04/index.html:749
msgctxt "page:showcase/th04/index.html"
msgid "The full TH04 reconstruction"
msgstr "Η πλήρης ανακατασκευή του 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 ""
"Το έργο μεταγλωττίζει τα τέσσερα προϊόντα DOS του παιχνιδιού από "
"συντηρούμενο κώδικα C++ και assembly. Πέρα από τη δημιουργία βολίδων, ο "
"πηγαίος κώδικας καλύπτει στάδια, αρχηγούς, απόδοση γραφικών, είσοδο, μενού, "
"φινάλε και χειρισμό βαθμολογίας."

#. {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}Εξερευνήστε το αποθετήριο 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}Πηγαίος κώδικας δημιουργίας βολίδων{ph1}{ph2}Η πλήρης βοηθητική "
"συνάρτηση, άλλοι τύποι σχηματισμών και ρύθμιση προτύπων.{ph3}"

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/docs/DOS_BUILD.md"
#. >
#. {ph1}: </a >
#. {ph2}: <span >
#. {ph3}: </span >
#: website/public/showcase/th04/index.html: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{ph1}{ph2}Μεταγλωττίστε τον "
"πηγαίο κώδικα και δοκιμάστε τον στη ροή εξομοιωτή PC-98 του έργου.{ph3}"

#. {ph0}: <a
#. href="https://github.com/N0zoM1z0/th04/blob/0d72e9801a5c14c10384efcbb6734ceccb74ee63/docs/RE_HANDOFF.md"
#. >
#. {ph1}: </a >
#. {ph2}: <span>
#. {ph3}: </span>
#: website/public/showcase/th04/index.html: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}Τρέχουσα κατάσταση του έργου{ph1}{ph2}Επαλήθευση DOS και η ξεχωριστή "
"μεταφορά σε εγγενή κώδικα x64.{ph3}"

#: website/public/showcase/th04/index.html:6
msgctxt "page:showcase/th04/index.html"
msgid "TH04 Reverse Engineering: DOS Bullet Patterns — REA"
msgstr "Αντίστροφη μηχανική του TH04: Σχηματισμοί βολίδων 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 ""
"Εξετάστε τον αρχικό κώδικα DOS 16 bit του TH04 με το REA. Ακολουθήστε τον "
"κώδικα assembly και τον ανακτημένο κώδικα C++ για να δείτε πώς οι βολίδες "
"κατανέμονται σε δακτύλιο και στοχεύουν τον παίκτη."

#: website/public/showcase/th04/index.html:256
msgctxt "page:showcase/th04/index.html"
msgid "On this page"
msgstr "Σε αυτή τη σελίδα"

#: website/public/showcase/th04/index.html:266
msgctxt "page:showcase/th04/index.html"
msgid "TH04 bullet-pattern case study"
msgstr "Μελέτη σχηματισμών βολίδων TH04"

#: website/public/showcase/th04/index.html:281
msgctxt "page:showcase/th04/index.html"
msgid "Copy TH04 example prompt"
msgstr "Αντιγραφή παραδείγματος προτροπής 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· κυλήστε οριζόντια σε "
"μικρότερες οθόνες"

#: 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 ""
"Δύο διαγράμματα δακτυλίου 16 βολίδων. Ο σταθερός δακτύλιος ξεκινά από γωνία "
"μηδέν. Η πρόσθεση κατεύθυνσης παίκτη 40 περιστρέφει κάθε κατεύθυνση κατά το "
"ίδιο ποσό· η επισημασμένη πρώτη βολίδα δείχνει προς τον παίκτη. Και οι δύο "
"διατηρούν απόσταση 16 μονάδων γωνίας, ή 22.5 μοιρών."

#: website/public/showcase/th04/index.html:337
msgctxt "page:showcase/th04/index.html"
msgid "Copy TH04 firing template"
msgstr "Αντιγραφή προτύπου βολής TH04"

#: website/public/showcase/th04/index.html:464
msgctxt "page:showcase/th04/index.html"
msgid "Follow the TH04 aimed-ring calculation"
msgstr "Ακολουθήστε τον υπολογισμό στοχευμένου δακτυλίου TH04"

#: website/public/showcase/th04/index.html:514
msgctxt "page:showcase/th04/index.html"
msgid "Copy TH04 assembly excerpt"
msgstr "Αντιγραφή αποσπάσματος assembly TH04"

#: website/public/showcase/th04/index.html:548
msgctxt "page:showcase/th04/index.html"
msgid "Copy readable aimed-ring calculation"
msgstr "Αντιγραφή ευανάγνωστου υπολογισμού στοχευμένου δακτυλίου"

#: website/public/showcase/th04/index.html:806
msgctxt "page:showcase/th04/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: scripts/website_i18n.py
msgctxt "runtime"
msgid "Translation is being updated. Read this page in English for now."
msgstr ""
"Η μετάφραση ενημερώνεται. Προς το παρόν, διαβάστε αυτή τη σελίδα στα "
"αγγλικά."

#: website/public/assets/aegis-demo.js:22
#, python-brace-format
msgctxt "runtime"
msgid "{start}–{end} seconds"
msgstr "{start}–{end} δευτερόλεπτα"

#: website/public/assets/aegis-demo.js:29
#, python-brace-format
msgctxt "runtime"
msgid "{seconds} seconds, time block {block}"
msgstr "{seconds} δευτερόλεπτα, χρονικό διάστημα {block}"

#: website/public/assets/aegis-demo.js:35
msgctxt "runtime"
msgid ""
"Interactive calculation is unavailable in this browser. The example shows "
"the code at 59 seconds."
msgstr ""
"Ο διαδραστικός υπολογισμός δεν είναι διαθέσιμος σε αυτό το πρόγραμμα "
"περιήγησης. Το παράδειγμα δείχνει τον κώδικα στα 59 δευτερόλεπτα."

#: website/public/assets/aegis-demo.js:62
msgctxt "runtime"
msgid "Checking…"
msgstr "Έλεγχος…"

#: website/public/assets/aegis-demo.js:76
#, python-brace-format
msgctxt "runtime"
msgid ""
"{passed} / {total} checks passed (six reference cases, at six and eight "
"digits)."
msgstr ""
"Πέρασαν {passed} / {total} έλεγχοι (έξι περιπτώσεις αναφοράς, με έξι και "
"οκτώ ψηφία)."

#: website/public/assets/aegis-demo.js:81
msgctxt "runtime"
msgid "Could not run the reference checks. Try again."
msgstr "Δεν ήταν δυνατή η εκτέλεση των ελέγχων αναφοράς. Δοκιμάστε ξανά."

#: website/public/assets/dino-demo.js:77
#, python-brace-format
msgctxt "runtime"
msgid "Distance {distance}"
msgstr "Απόσταση {distance}"

#: website/public/assets/dino-demo.js:87
msgctxt "runtime"
msgid "Hit a cactus. Try another speed."
msgstr "Σύγκρουση με κάκτο. Δοκιμάστε άλλη ταχύτητα."

#: website/public/assets/dino-demo.js:87
msgctxt "runtime"
msgid "Space or Jump ↑"
msgstr "Space ή Άλμα ↑"

#: website/public/assets/dino-demo.js:97
msgctxt "runtime"
msgid "Play again"
msgstr "Νέο παιχνίδι"

#: website/public/assets/dino-demo.js:97
#: website/public/assets/dino-demo.js:111
msgctxt "runtime"
msgid "Play"
msgstr "Έναρξη"

#: website/public/assets/dino-demo.js:112
msgctxt "runtime"
msgid "Press Play, then jump over the cactus."
msgstr "Πατήστε Έναρξη και έπειτα περάστε τον κάκτο με άλμα."

#: website/public/assets/dino-demo.js:147
msgctxt "runtime"
msgid "Hit a cactus. Press Play again, or change the speed and restart."
msgstr ""
"Σύγκρουση με κάκτο. Πατήστε ξανά Έναρξη ή αλλάξτε την ταχύτητα και "
"επανεκκινήστε."

#: website/public/assets/dino-demo.js:171
msgctxt "runtime"
msgid "Pause"
msgstr "Παύση"

#: website/public/assets/dino-demo.js:172
msgctxt "runtime"
msgid "Running. Space or Jump clears a cactus."
msgstr ""
"Το παιχνίδι εκτελείται. Πατήστε Space ή Άλμα για να περάσετε έναν κάκτο."

#: website/public/assets/dino-demo.js:183
#: website/public/assets/dino-demo.js:219
#: website/public/assets/dino-demo.js:224
msgctxt "runtime"
msgid "Paused. Press Play to continue."
msgstr "Παύση. Πατήστε Έναρξη για να συνεχίσετε."

#: website/public/assets/dino-demo.js:203
#, python-brace-format
msgctxt "runtime"
msgid "Fixed speed: {speed}. Space or Jump clears a cactus."
msgstr ""
"Σταθερή ταχύτητα: {speed}. Πατήστε Space ή Άλμα για να περάσετε έναν κάκτο."

#: website/public/assets/dino-demo.js:206
#, python-brace-format
msgctxt "runtime"
msgid "Fixed speed: {speed}. Press Play to try it."
msgstr "Σταθερή ταχύτητα: {speed}. Πατήστε Έναρξη για να τη δοκιμάσετε."

#: website/public/assets/dino-demo.js:215
msgctxt "runtime"
msgid "Recovered rule: start at 6, then increase toward 13."
msgstr "Ανακτημένος κανόνας: εκκίνηση από 6 και σταδιακή αύξηση προς το 13."

#: website/public/assets/dino-demo.js:216
#, python-brace-format
msgctxt "runtime"
msgid "Fixed speed: {speed}."
msgstr "Σταθερή ταχύτητα: {speed}."

#: website/public/assets/dino-demo.js:249
msgctxt "runtime"
msgid ""
"Replayed the recovered rule. All four values match the controlled original-"
"game check when rounded to three decimals."
msgstr ""
"Ο ανακτημένος κανόνας εκτελέστηκε ξανά. Και οι τέσσερις τιμές συμφωνούν με "
"την ελεγχόμενη δοκιμή του αρχικού παιχνιδιού, όταν στρογγυλοποιούνται στα "
"τρία δεκαδικά ψηφία."

#: website/public/assets/dino-demo.js:252
msgctxt "runtime"
msgid ""
"The replay differs from the recorded original-game values. Compare the speed"
" rule and settings above."
msgstr ""
"Η επανάληψη διαφέρει από τις καταγεγραμμένες τιμές του αρχικού παιχνιδιού. "
"Συγκρίνετε τον κανόνα ταχύτητας και τις παραπάνω ρυθμίσεις."

#: website/public/assets/home.js:29
msgctxt "runtime"
msgid "Press % to see what happens to 10."
msgstr "Πατήστε % για να δείτε τι συμβαίνει στο 10."

#: website/public/assets/home.js:32
msgctxt "runtime"
msgid "10% of 200 is 20. Press = to add it."
msgstr "Το 10% του 200 είναι 20. Πατήστε = για να το προσθέσετε."

#: website/public/assets/home.js:33
msgctxt "runtime"
msgid "For multiplication, 10 becomes 0.1. Press = to multiply."
msgstr ""
"Στον πολλαπλασιασμό, το 10 γίνεται 0.1. Πατήστε = για να εκτελέσετε τον "
"πολλαπλασιασμό."

#: website/public/assets/main.js:21
msgctxt "runtime"
msgid "Copied"
msgstr "Αντιγράφηκε"

#: website/public/assets/main.js:23
msgctxt "runtime"
msgid "Code copied to clipboard."
msgstr "Ο κώδικας αντιγράφηκε στο πρόχειρο."

#: website/public/assets/main.js:32
msgctxt "runtime"
msgid "Selected"
msgstr "Επιλέχθηκε"

#: website/public/assets/main.js:34
msgctxt "runtime"
msgid "Code selected. Use your keyboard to copy it."
msgstr ""
"Ο κώδικας επιλέχθηκε. Χρησιμοποιήστε το πληκτρολόγιό σας για να τον "
"αντιγράψετε."

#: website/public/assets/main.js:158
#, python-brace-format
msgctxt "runtime"
msgid "REA on GitHub ({count})"
msgstr "REA στο GitHub ({count})"

#: website/public/assets/theme.js:52
msgctxt "runtime"
msgid "Switch to light mode"
msgstr "Μετάβαση σε φωτεινή λειτουργία"

#: website/public/assets/theme.js:53
msgctxt "runtime"
msgid "Switch to dark mode"
msgstr "Μετάβαση σε σκοτεινή λειτουργία"

#: website/public/assets/figures/analyst-thinking.svg:2
msgctxt "figure:analyst-thinking.svg"
msgid "An analyst thinking at a computer"
msgstr "Ένας αναλυτής σκέφτεται μπροστά σε έναν υπολογιστή"

#: website/public/assets/figures/ctf-mask-equation.svg:2
#: website/public/assets/figures/ctf-mask-equation.svg:24
msgctxt "figure:ctf-mask-equation.svg"
msgid "One check reveals one character"
msgstr "Ένας έλεγχος αποκαλύπτει έναν χαρακτήρα"

#: website/public/assets/figures/ctf-mask-equation.svg:3
msgctxt "figure:ctf-mask-equation.svg"
msgid ""
"The seventh mask selects only position 21 in the six by six input grid. Its "
"character code must equal 55, so the character is 7. The other masks select "
"different positions and give further equations."
msgstr ""
"Η έβδομη μάσκα επιλέγει μόνο τη θέση 21 στο πλέγμα εισόδου έξι επί έξι. Ο "
"κωδικός χαρακτήρα της πρέπει να ισούται με 55, άρα ο χαρακτήρας είναι 7. Οι "
"άλλες μάσκες επιλέγουν διαφορετικές θέσεις και δίνουν επιπλέον εξισώσεις."

#: website/public/assets/figures/ctf-mask-equation.svg:25
msgctxt "figure:ctf-mask-equation.svg"
msgid "The seventh check. Cell labels are input positions, starting at 0."
msgstr ""
"Ο έβδομος έλεγχος. Οι ετικέτες κελιών είναι θέσεις εισόδου, με αρίθμηση από "
"το 0."

#: website/public/assets/figures/ctf-mask-equation.svg:27
msgctxt "figure:ctf-mask-equation.svg"
msgid "Encoded mask: −21, +1, −14, 0"
msgstr "Κωδικοποιημένη μάσκα: −21, +1, −14, 0"

#: website/public/assets/figures/ctf-mask-equation.svg:28
msgctxt "figure:ctf-mask-equation.svg"
msgid "Skip 21 cells. Select 1. Skip 14. Stop at 0."
msgstr "Παραλείψτε 21 κελιά. Επιλέξτε 1. Παραλείψτε 14. Σταματήστε στο 0."

#: website/public/assets/figures/ctf-mask-equation.svg:32
msgctxt "figure:ctf-mask-equation.svg"
msgid "Only one cell contributes to this sum"
msgstr "Μόνο ένα κελί συνεισφέρει σε αυτό το άθροισμα"

#: website/public/assets/figures/ctf-mask-equation.svg:35
msgctxt "figure:ctf-mask-equation.svg"
msgid "Position 21 in the flag must contain 7."
msgstr "Η θέση 21 στη σημαία πρέπει να περιέχει 7."

#: website/public/assets/figures/ctf-mask-equation.svg:37
msgctxt "figure:ctf-mask-equation.svg"
msgid "Selected: one cell"
msgstr "Επιλεγμένο: ένα κελί"

#: website/public/assets/figures/ctf-mask-equation.svg:38
msgctxt "figure:ctf-mask-equation.svg"
msgid "26 masks give 26 equations."
msgstr "26 μάσκες δίνουν 26 εξισώσεις."

#: website/public/assets/figures/ctf-mask-equation.svg:39
msgctxt "figure:ctf-mask-equation.svg"
msgid "Solve them together to find the flag."
msgstr "Λύστε τις μαζί για να βρείτε τη σημαία."

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:2
#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:20
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "DX-Ball sound-pan investigation"
msgstr "Διερεύνηση της στερεοφωνικής θέσης του ήχου στο DX-Ball"

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:3
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid ""
"REA provides the instruction, caller and byte-read evidence for one DX-Ball "
"function. A stack input is multiplied by 1.5625, offset by 500, scaled, and "
"converted to an integer. Maintained C is checked in 3,205 original-x86 cases"
" and a separate 63-byte compiler replay."
msgstr ""
"Το REA παρέχει τα στοιχεία εντολών, καλούντος και ανάγνωσης byte για μία "
"συνάρτηση του DX-Ball. Μια είσοδος στη στοίβα πολλαπλασιάζεται επί 1.5625, "
"μειώνεται κατά 500, κλιμακώνεται και μετατρέπεται σε ακέραιο. Ο "
"συντηρούμενος κώδικας C ελέγχεται σε 3,205 περιπτώσεις με τον αρχικό κώδικα "
"x86 και σε ξεχωριστή αναπαραγωγή μεταγλώττισης 63 byte."

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:39
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "Stack"
msgstr "Στοίβα"

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:40
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "input x"
msgstr "είσοδος x"

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:44
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "Integer"
msgstr "Ακέραια"

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:45
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "return"
msgstr "επιστροφή"

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:46
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "Reconstructed function"
msgstr "Ανακατασκευασμένη συνάρτηση"

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:47
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "Maintained C"
msgstr "Συντηρούμενος κώδικας C"

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:48
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "Brick-hit caller"
msgstr "Καλών χτυπήματος τούβλου"

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:49
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "20 + 30 × tile_x"
msgstr "20 + 30 × tile_x"

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:50
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "Original code"
msgstr "Αρχικός κώδικας"

#: 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 "σύγκριση"

#: 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 περιπτώσεις"

#: website/public/assets/figures/dx-ball-sound-pan-investigation.svg:53
msgctxt "figure:dx-ball-sound-pan-investigation.svg"
msgid "VC4.0 build"
msgstr "Μεταγλώττιση VC4.0"

#: 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"

#: website/public/assets/figures/rea-investigation-flow.svg:2
#: website/public/assets/figures/rea-investigation-flow.svg:22
msgctxt "figure:rea-investigation-flow.svg"
msgid "REA investigation flow"
msgstr "Ροή διερεύνησης του REA"

#: website/public/assets/figures/rea-investigation-flow.svg:3
msgctxt "figure:rea-investigation-flow.svg"
msgid ""
"Ask a question about a local target. REA inspects and traces through local "
"analysis adapters, returns evidence, and supports follow-up questions as "
"your agent explains, implements and tests."
msgstr ""
"Κάντε μια ερώτηση για έναν τοπικό στόχο. Το REA εξετάζει και ιχνηλατεί μέσω "
"τοπικών προσαρμογέων ανάλυσης, επιστρέφει στοιχεία και υποστηρίζει επόμενες "
"ερωτήσεις, καθώς ο βοηθός σας εξηγεί, υλοποιεί και δοκιμάζει."

#: website/public/assets/figures/rea-investigation-flow.svg:31
msgctxt "figure:rea-investigation-flow.svg"
msgid "1. Ask"
msgstr "1. Ρωτήστε"

#: website/public/assets/figures/rea-investigation-flow.svg:32
msgctxt "figure:rea-investigation-flow.svg"
msgid "Your agent + local target"
msgstr "Ο βοηθός σας + τοπικός στόχος"

#: website/public/assets/figures/rea-investigation-flow.svg:33
msgctxt "figure:rea-investigation-flow.svg"
msgid "App / binary / browser"
msgstr "Εφαρμογή / δυαδικό αρχείο / πρόγραμμα περιήγησης"

#: website/public/assets/figures/rea-investigation-flow.svg:34
msgctxt "figure:rea-investigation-flow.svg"
msgid "2. Inspect & trace"
msgstr "2. Εξετάστε και ιχνηλατήστε"

#: website/public/assets/figures/rea-investigation-flow.svg:36
msgctxt "figure:rea-investigation-flow.svg"
msgid "CLI / MCP"
msgstr "CLI / MCP"

#: website/public/assets/figures/rea-investigation-flow.svg:37
msgctxt "figure:rea-investigation-flow.svg"
msgid "3. Read the evidence"
msgstr "3. Διαβάστε τα στοιχεία"

#: website/public/assets/figures/rea-investigation-flow.svg:38
msgctxt "figure:rea-investigation-flow.svg"
msgid "Code / references /"
msgstr "Κώδικας / αναφορές /"

#: website/public/assets/figures/rea-investigation-flow.svg:39
msgctxt "figure:rea-investigation-flow.svg"
msgid "unknowns"
msgstr "άγνωστα στοιχεία"

#: website/public/assets/figures/rea-investigation-flow.svg:40
msgctxt "figure:rea-investigation-flow.svg"
msgid "4. Use what you learn"
msgstr "4. Αξιοποιήστε όσα μάθατε"

#: website/public/assets/figures/rea-investigation-flow.svg:41
msgctxt "figure:rea-investigation-flow.svg"
msgid "Your agent"
msgstr "Ο βοηθός σας"

#: website/public/assets/figures/rea-investigation-flow.svg:42
msgctxt "figure:rea-investigation-flow.svg"
msgid "Explain / implement / test"
msgstr "Εξηγήστε / υλοποιήστε / δοκιμάστε"

#: website/public/assets/figures/rea-investigation-flow.svg:43
msgctxt "figure:rea-investigation-flow.svg"
msgid "Analysis tools"
msgstr "Εργαλεία ανάλυσης"

#: website/public/assets/figures/rea-investigation-flow.svg:44
msgctxt "figure:rea-investigation-flow.svg"
msgid "Local analysis adapters"
msgstr "Τοπικοί προσαρμογείς ανάλυσης"

#: website/public/assets/figures/rea-investigation-flow.svg:45
msgctxt "figure:rea-investigation-flow.svg"
msgid "Follow-up question"
msgstr "Επόμενη ερώτηση"

#: website/public/assets/figures/th04-bullet-ring.svg:2
msgctxt "figure:th04-bullet-ring.svg"
msgid "TH04: spacing and aiming a ring of bullets"
msgstr "TH04: κατανομή και στόχευση ενός δακτυλίου βολίδων"

#: website/public/assets/figures/th04-bullet-ring.svg:3
msgctxt "figure:th04-bullet-ring.svg"
msgid ""
"A full clockwise turn has 256 angle units. Sixteen bullets start at angles "
"zero, sixteen, thirty-two, through 240. Adding an example player direction "
"of forty turns all sixteen directions together; the first bullet points at "
"the player. Template rotation is zero."
msgstr ""
"Μια πλήρης δεξιόστροφη περιστροφή έχει 256 μονάδες γωνίας. Δεκαέξι βολίδες "
"ξεκινούν από γωνίες μηδέν, δεκαέξι, τριάντα δύο, έως 240. Η πρόσθεση μιας "
"ενδεικτικής κατεύθυνσης παίκτη σαράντα στρέφει και τις δεκαέξι κατευθύνσεις "
"μαζί· η πρώτη βολίδα δείχνει προς τον παίκτη. Η περιστροφή του προτύπου "
"είναι μηδέν."

#: website/public/assets/figures/th04-bullet-ring.svg:24
msgctxt "figure:th04-bullet-ring.svg"
msgid "Fixed ring"
msgstr "Σταθερός δακτύλιος"

#: website/public/assets/figures/th04-bullet-ring.svg:25
msgctxt "figure:th04-bullet-ring.svg"
msgid "First bullet: angle 0"
msgstr "Πρώτη βολίδα: γωνία 0"

#: website/public/assets/figures/th04-bullet-ring.svg:26
msgctxt "figure:th04-bullet-ring.svg"
msgid "Aimed ring"
msgstr "Στοχευμένος δακτύλιος"

#: website/public/assets/figures/th04-bullet-ring.svg:27
msgctxt "figure:th04-bullet-ring.svg"
msgid "First bullet: player direction"
msgstr "Πρώτη βολίδα: κατεύθυνση παίκτη"

#: website/public/assets/figures/th04-bullet-ring.svg:64
#: website/public/assets/figures/th04-bullet-ring.svg:102
msgctxt "figure:th04-bullet-ring.svg"
msgid "Origin"
msgstr "Αρχή"

#: website/public/assets/figures/th04-bullet-ring.svg:105
msgctxt "figure:th04-bullet-ring.svg"
msgid "Player"
msgstr "Παίκτης"

#: website/public/assets/figures/th04-bullet-ring.svg:110
msgctxt "figure:th04-bullet-ring.svg"
msgid "Same spacing: 256 ÷ 16 = 16 angle units = 22.5°"
msgstr "Ίδια απόσταση: 256 ÷ 16 = 16 μονάδες γωνίας = 22.5°"

#: 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 ""
"Προετοιμάστε τον υπολογιστή και τον βοηθό προγραμματισμού σας, συνδέστε το "
"REA και διερευνήστε μια μικρή εφαρμογή."

#. {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 ""
"Είναι η πρώτη σας φορά; Ακολουθήστε τα τέσσερα βήματα παρακάτω. Έχετε ήδη "
"βοηθό; Πηγαίνετε κατευθείαν στη {ph0}σύνδεση του 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. Προετοιμάστε τον υπολογιστή σας{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. Επιλέξτε βοηθό{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. Συνδέστε το 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. Δοκιμάστε μια διερεύνηση{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}Άλλοι στόχοι και πάροχοι ανάλυσης{ph1}"

#: website/public/get-started/index.html:225
msgctxt "page:get-started/index.html"
msgid "1. Prepare your computer"
msgstr "1. Προετοιμάστε τον υπολογιστή σας"

#: 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 ""
"Χρησιμοποιήστε τον υπολογιστή όπου βρίσκονται τα αρχεία στόχου σας. Ένας "
"τοπικός βοηθός προγραμματισμού μπορεί να διαβάσει αυτά τα αρχεία και να "
"εκτελέσει εργαλεία για εσάς."

#: 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 ""
"Οι εντολές εισάγονται στο τερματικό. Οι προτροπές με την ένδειξη «Ο βοηθός "
"προγραμματισμού σας» εισάγονται στη συνομιλία του βοηθού."

#. {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}Κατεβάστε το πρόγραμμα εγκατάστασης του Node.js{ph1} αν το winget δεν "
"είναι διαθέσιμο."

#. {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 ""
"Αν αργότερα το PowerShell εμφανίσει {ph0}\"running scripts is disabled on "
"this system\"{ph1} όταν εκτελείτε το {ph2}, χρησιμοποιήστε το {ph3}. Για το "
"npm, χρησιμοποιήστε το {ph4}:"

#. {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 ""
"Για πρώτη εγκατάσταση, κατεβάστε το {ph0}πρόγραμμα εγκατάστασης Node.js 24 "
"LTS για macOS (.pkg){ph1}, ανοίξτε το και ακολουθήστε τις οδηγίες του. "
"Έπειτα ανοίξτε ξανά το Terminal."

#: website/public/get-started/index.html:343
msgctxt "page:get-started/index.html"
msgid "Already use Homebrew?"
msgstr "Χρησιμοποιείτε ήδη το Homebrew;"

#. {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 ""
"Εγκαταστήστε πρώτα τα curl και unzip αν λείπουν. Σε Debian ή Ubuntu, "
"εκτελέστε {ph0}· σε άλλες διανομές, χρησιμοποιήστε τον διαχειριστή πακέτων "
"σας."

#: website/public/get-started/index.html:381
msgctxt "page:get-started/index.html"
msgid "Close the terminal, open it again, then:"
msgstr "Κλείστε το τερματικό, ανοίξτε το ξανά και έπειτα:"

#: website/public/get-started/index.html:411
msgctxt "page:get-started/index.html"
msgid "Make a working folder for your agent"
msgstr "Δημιουργήστε έναν φάκελο εργασίας για τον βοηθό σας"

#: 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 ""
"Στο τερματικό σας, δημιουργήστε έναν φάκελο για την άσκηση και μεταβείτε σε "
"αυτόν:"

#: 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 ""
"Κρατήστε αυτό το τερματικό ανοιχτό για το επόμενο βήμα. Αν έχετε ήδη φάκελο "
"εργασίας, ανοίξτε εκείνον."

#: website/public/get-started/index.html:438
msgctxt "page:get-started/index.html"
msgid "2. Choose a coding agent"
msgstr "2. Επιλέξτε βοηθό προγραμματισμού"

#: 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 ""
"Ο βοηθός σας είναι η τεχνητή νοημοσύνη με την οποία συνομιλείτε. Το REA "
"παρέχει τα εργαλεία εξέτασης που χρησιμοποιεί. Επιλέξτε μία εφαρμογή "
"παρακάτω· ανοίξτε τις οδηγίες της αν δεν την έχετε χρησιμοποιήσει ξανά."

#: website/public/get-started/index.html:445
msgctxt "page:get-started/index.html"
msgid "Codex · use your ChatGPT account"
msgstr "Codex · χρησιμοποιήστε τον λογαριασμό σας στο ChatGPT"

#: website/public/get-started/index.html:446
msgctxt "page:get-started/index.html"
msgid "Install Codex using the command for your operating system:"
msgstr "Εγκαταστήστε το Codex με την εντολή για το λειτουργικό σας σύστημα:"

#: 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 ""
"Μετά την εγκατάσταση, ανοίξτε ξανά το τερματικό και επιστρέψτε στον φάκελο "
"εργασίας. Έπειτα ξεκινήστε το Codex:"

#: 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 ""
"Επιλέξτε «Sign in with ChatGPT», ολοκληρώστε τη σύνδεση στον browser και "
"επιστρέψτε στο τερματικό. Όταν εμφανιστεί το πλαίσιο μηνύματος, συνεχίστε "
"στο βήμα 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}Εγκατάσταση και σύνδεση στο Codex{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 ή VS Code · χρησιμοποιήστε έναν επεξεργαστή κώδικα"

#: 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 ""
"Εγκαταστήστε τον επεξεργαστή για το λειτουργικό σας σύστημα και συνδεθείτε."

#: 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 "Ανοίξτε τον φάκελο rea-work που δημιουργήσατε στο βήμα 1."

#: 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 ""
"Ανοίξτε τη συνομιλία του με την τεχνητή νοημοσύνη και επιλέξτε τη λειτουργία"
" Agent. Στο Windsurf ή στο Devin Desktop, ανοίξτε τη συνομιλία του βοηθού· "
"στο VS Code, ρυθμίστε πρώτα το 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}Ρύθμιση του Cursor{ph1} · {ph2}Ρύθμιση του Windsurf / Devin "
"Desktop{ph3} · {ph4}Ρύθμιση του VS Code και του Copilot{ph5}"

#: website/public/get-started/index.html:529
msgctxt "page:get-started/index.html"
msgid "Claude Code · use your Claude account"
msgstr "Claude Code · χρησιμοποιήστε τον λογαριασμό σας στο Claude"

#: website/public/get-started/index.html:530
msgctxt "page:get-started/index.html"
msgid "Install using the command for your operating system:"
msgstr "Εγκαταστήστε το με την εντολή για το λειτουργικό σας σύστημα:"

#. {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 ""
"Ανοίξτε ξανά το τερματικό, επιστρέψτε στον φάκελο εργασίας και εκτελέστε "
"{ph0}. Ακολουθήστε τις οδηγίες σύνδεσης. Η πρόσβαση γίνεται μέσω κατάλληλης "
"συνδρομής Claude ή ρυθμισμένου λογαριασμού API."

#. {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}Εγκατάσταση Claude Code και επιλογές λογαριασμού{ph1}"

#: website/public/get-started/index.html:571
msgctxt "page:get-started/index.html"
msgid "Claude Desktop · use a desktop chat"
msgstr "Claude Desktop · χρησιμοποιήστε μια συνομιλία στην επιφάνεια εργασίας"

#: 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 ""
"Εγκαταστήστε το Claude Desktop σε Windows ή macOS και συνδεθείτε. Τερματίστε"
" το πλήρως και εκτελέστε αυτή την εντολή σε ένα τερματικό που ανοίξατε εκτός"
" του 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 ""
"Ελέγξτε και εγκρίνετε το σχέδιο, ανοίξτε ξανά το Claude και {ph0}ελέγξτε τη "
"σύνδεση στο βήμα 3{ph1}."

#. {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}Λήψη Claude Desktop{ph1} · {ph2}Λεπτομέρειες σύνδεσης Claude "
"Desktop{ph3}"

#: website/public/get-started/index.html:605
msgctxt "page:get-started/index.html"
msgid "OpenCode · choose an AI model"
msgstr "OpenCode · επιλέξτε μοντέλο τεχνητής νοημοσύνης"

#. {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 ""
"Εκτελέστε {ph0} στον φάκελο εργασίας σας. Χρησιμοποιήστε το {ph1} στη "
"συνομιλία του για να συνδέσετε τον λογαριασμό του μοντέλου σας και επιλέξτε "
"ένα μοντέλο."

#. {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}Εγκατάσταση OpenCode και ρύθμιση μοντέλου{ph1}"

#: website/public/get-started/index.html:632
msgctxt "page:get-started/index.html"
msgid "All supported clients and setup IDs"
msgstr "Όλες οι υποστηριζόμενες εφαρμογές και τα αναγνωριστικά ρύθμισης"

#. {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 ""
"Η έκδοση npm 6.4.0 υποστηρίζει τις παρακάτω εφαρμογές. Χρησιμοποιήστε το "
"αναγνωριστικό με το {ph0} όταν επιλέγετε ρητά μια εφαρμογή."

#: website/public/get-started/index.html:641
msgctxt "page:get-started/index.html"
msgid "Client"
msgstr "Εφαρμογή"

#: website/public/get-started/index.html:642
msgctxt "page:get-started/index.html"
msgid "Setup ID"
msgstr "Αναγνωριστικό ρύθμισης"

#. {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}) και "
"DeepSeek Harness ({ph4}) είναι διαθέσιμα στον κλάδο main του αποθετηρίου· "
"χρησιμοποιήστε μια μεταγλώττιση από τον πηγαίο κώδικα ή μια έκδοση που "
"περιλαμβάνει αυτές τις ενσωματώσεις."

#. {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}Διαμόρφωση εφαρμογών και αντιμετώπιση προβλημάτων{ph1} · "
"{ph2}Διαθεσιμότητα εκδόσεων{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 · συνδεθείτε στον φιλοξενούμενο υπολογιστή του"

#. {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 ""
"Στη συνομιλία του Grok Bot, ζητήστε του να προσθέσει έναν προσαρμοσμένο "
"διακομιστή MCP με όνομα {ph0}, χρησιμοποιώντας αυτή την εντολή στον "
"υπολογιστή του 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}Οδηγίες σύνδεσης του Grok Bot{ph1}"

#: website/public/get-started/index.html:765
msgctxt "page:get-started/index.html"
msgid "3. Connect REA"
msgstr "3. Συνδέστε το REA"

#: website/public/get-started/index.html:766
msgctxt "page:get-started/index.html"
msgid "Copy this into your coding agent:"
msgstr "Αντιγράψτε αυτό στον βοηθό προγραμματισμού σας:"

#: website/public/get-started/index.html:810
msgctxt "page:get-started/index.html"
msgid "For one specific client, add its setup ID:"
msgstr ""
"Για μία συγκεκριμένη εφαρμογή, προσθέστε το αναγνωριστικό ρύθμισής της:"

#. {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 ""
"Αν το npm ζητήσει να κατεβάσει το πακέτο, πληκτρολογήστε {ph0} και πατήστε "
"Enter. Στη λίστα εφαρμογών του REA, χρησιμοποιήστε τα βέλη για μετακίνηση, "
"το Space για να επιλέξετε την εφαρμογή σας και το Enter για να συνεχίσετε."

#: 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 είναι η σύνδεση που επιτρέπει στον βοηθό σας να καλεί το REA. Η "
"δεξιότητα του δίνει μια ροή εργασίας για τη διερεύνηση λογισμικού."

#: 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 ""
"Για την πρώτη άσκηση, μπορείτε να παραλείψετε την προαιρετική εγκατάσταση "
"του Hopper. Επανεκκινήστε την εφαρμογή σας όταν ολοκληρωθεί η ρύθμιση."

#. {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 ""
"Αντικαταστήστε το {ph0} με το αναγνωριστικό ρύθμισης της εφαρμογής σας. Ένας"
" επιτυχής έλεγχος αναφέρει {ph1}. Έπειτα ζητήστε από τον βοηθό σας:"

#: 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 ""
"Ελέγξτε ότι το REA είναι συνδεδεμένο και δείξτε μου ποια εργαλεία του REA "
"μπορείτε να χρησιμοποιήσετε."

#: website/public/get-started/index.html:886
msgctxt "page:get-started/index.html"
msgid "4. Try your first investigation"
msgstr "4. Δοκιμάστε την πρώτη σας διερεύνηση"

#. {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 ""
"Το παράδειγμα είναι μια εφαρμογή Electron με έξι αρχεία και ένα κουμπί "
"{ph0}Export notes{ph1}. Ο βοηθός σας μπορεί να εξετάσει τον κώδικά της χωρίς"
" να εγκαταστήσει ή να εκκινήσει το Electron."

#: website/public/get-started/index.html:894
msgctxt "page:get-started/index.html"
msgid "Your coding agent"
msgstr "Ο βοηθός προγραμματισμού σας"

#. {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}Κατεβάστε το {ph3} σε έναν νέο φάκελο παραδείγματος και "
"αποσυμπιέστε το. Χρησιμοποιήστε το REA για να βρείτε τι συμβαίνει όταν πατάω"
" Export notes. Δείξτε πού γράφεται το {ph4}, ποια πεδία περιέχει και τα "
"σχετικά αρχεία και γραμμές.{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 "Αναζητήστε μια σύντομη εξήγηση με αναφορές σε αρχεία και γραμμές:"

#. {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 ""
"Το κουμπί στέλνει ένα μήνυμα {ph0}. Η κύρια διεργασία μορφοποιεί τις "
"σημειώσεις ως CSV και γράφει το {ph1} στον φάκελο λήψεων του χρήστη. Οι "
"στήλες είναι {ph2} και {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}Ελέγξτε μια πρόβλεψη στην καθοδηγούμενη άσκηση →{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 ""
"Κατεβάστε το παράδειγμα μόνοι σας ή χρησιμοποιήστε τη δική σας εφαρμογή"

#. {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}Λήψη παραδείγματος 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 ""
"Αν ο βοηθός σας δεν μπορεί να κατεβάσει αρχεία, αποσυμπιέστε αυτό το αρχείο "
"μόνοι σας. Δώστε του τη διαδρομή προς τον φάκελο {ph0} και την ίδια ερώτηση "
"για την εξαγωγή."

#. {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 ""
"Χρησιμοποιήστε το REA για να εξετάσετε την εφαρμογή στο {ph0}. Βρείτε πώς "
"εξάγει δεδομένα και δείξτε τα σχετικά αρχεία και γραμμές."

#: website/public/get-started/index.html:980
msgctxt "page:get-started/index.html"
msgid "Analyze another kind of software"
msgstr "Αναλύστε άλλο είδος λογισμικού"

#: 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 ""
"Επιλέξτε την ενότητα για τον στόχο σας. Πάροχος ανάλυσης είναι το τοπικό "
"εργαλείο ανάλυσης που χρησιμοποιεί το REA για αυτό το είδος λογισμικού."

#: website/public/get-started/index.html:986
msgctxt "page:get-started/index.html"
msgid "Native executables and libraries · Hopper, Ghidra or IDA"
msgstr "Εκτελέσιμα και βιβλιοθήκες εγγενούς κώδικα · Hopper, Ghidra ή 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 ""
"Εγκαταστήστε ένα εργαλείο ανάλυσης στον υπολογιστή που εκτελεί το REA. Το "
"σύστημα φιλοξενίας είναι το λειτουργικό σας σύστημα· ο στόχος είναι το "
"πρόγραμμα που θέλετε να εξετάσετε."

#: website/public/get-started/index.html:998
msgctxt "page:get-started/index.html"
msgid "Provider"
msgstr "Πάροχος ανάλυσης"

#: website/public/get-started/index.html:1007
msgctxt "page:get-started/index.html"
msgid "Unavailable"
msgstr "Μη διαθέσιμο"

#: website/public/get-started/index.html:1009
msgctxt "page:get-started/index.html"
msgid "Supported distributions"
msgstr "Υποστηριζόμενες διανομές"

#: website/public/get-started/index.html:1013
msgctxt "page:get-started/index.html"
msgid "x64 · experimental"
msgstr "x64 · πειραματικό"

#: website/public/get-started/index.html:1019
msgctxt "page:get-started/index.html"
msgid "Verified profiles"
msgstr "Επαληθευμένα προφίλ"

#: website/public/get-started/index.html:1020
msgctxt "page:get-started/index.html"
msgid "Verified headless profile"
msgstr "Επαληθευμένο προφίλ χωρίς γραφικό περιβάλλον"

#: website/public/get-started/index.html:1021
msgctxt "page:get-started/index.html"
msgid "See provider guide"
msgstr "Δείτε τον οδηγό παρόχου ανάλυσης"

#: website/public/get-started/index.html:1027
msgctxt "page:get-started/index.html"
msgid "Hopper · let setup install or connect it"
msgstr "Hopper · αφήστε τη ρύθμιση να το εγκαταστήσει ή να το συνδέσει"

#: 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 ""
"Επιλέξτε Hopper στη ρύθμιση και ελέγξτε το ξεχωριστό σχέδιο εγκατάστασής "
"του. Στο macOS, επιλέξτε λειτουργία επίδειξης ή ενεργοποιήστε την άδειά σας "
"όταν ανοίξει για πρώτη φορά το Hopper. Στο Linux, η ρύθμιση προετοιμάζει την"
" υποστηριζόμενη έκδοση επίδειξης και το ιδιωτικό περιβάλλον οθόνης της."

#: 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 ""
"Συστήματα Linux: Ubuntu 24.04+, Fedora 41+, Nobara 44+, Arch Linux, CachyOS "
"ή Omarchy. Το Hopper είναι εμπορικό λογισμικό· η έκδοση επίδειξής του έχει "
"περιορισμούς που ορίζει ο κατασκευαστής."

#: 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 ""
"Αν το macOS ζητήσει άδεια Automation, επιτρέψτε την εφαρμογή που ξεκινά το "
"REA από System Settings → Privacy & Security → Automation και ξαναδοκιμάστε."

#. {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}Ρύθμιση Hopper και αντιμετώπιση προβλημάτων{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 · εγκαταστήστε το δωρεάν εργαλείο ανάλυσης και τη 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 ""
"Εγκαταστήστε JDK 21 ή νεότερο, 64 bit, μαζί με τον μεταγλωττιστή Java. "
"Επιλέξτε το πακέτο που αντιστοιχεί στην αρχιτεκτονική του υπολογιστή σας."

#. {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 ""
"Κατεβάστε το Ghidra 12.1.4 από τη λίστα Assets της έκδοσης και αποσυμπιέστε "
"το αρχείο {ph0}. Επιλέξτε το αρχείο της έκδοσης και όχι το «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 ""
"Βρείτε τον αποσυμπιεσμένο φάκελο που περιέχει το {ph0} ή το {ph1}. "
"Χρησιμοποιήστε αυτόν τον φάκελο για το {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}Λήψη JDK{ph1} · {ph2}Λήψη 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 ""
"Ελέγξτε τη Java. Η πρώτη εντολή εμφανίζει το {ph0}· χρησιμοποιήστε αυτόν τον"
" φάκελο για το {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 ""
"Αντικαταστήστε και τις δύο διαδρομές με τις υπάρχουσες εγκαταστάσεις σας. "
"Για μια νέα εγκατάσταση σε macOS ή Linux arm64, μεταγλωττίστε τον "
"απομεταγλωττιστή εγγενούς κώδικα για τον υπολογιστή σας πριν συνεχίσετε."

#: website/public/get-started/index.html:1174
msgctxt "page:get-started/index.html"
msgid "Build Ghidra's native decompiler"
msgstr "Μεταγλωττίστε τον απομεταγλωττιστή εγγενούς κώδικα του 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 ""
"Στο macOS, η μεταγλώττιση χρειάζεται Xcode Command Line Tools, make και "
"bison. Χρησιμοποιήστε τον οδηγό για τον υπολογιστή σας:"

#. {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 · οδηγίες μεταγλώττισης εγγενών στοιχείων{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 ""
"Έπειτα ελέγξτε το Ghidra και αποθηκεύστε τις διαδρομές του για την εφαρμογή "
"σας:"

#: 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 ""
"Εκτελέστε αυτές τις εντολές στην ίδια συνεδρία τερματικού. Εκτελέστε ξανά τη"
" ρύθμιση αφού ορίσετε τις διαδρομές, εγκρίνετε την ενημερωμένη διαμόρφωση "
"της εφαρμογής και επανεκκινήστε τον βοηθό σας."

#. {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}Ρύθμιση Ghidra και απαιτήσεις αρχιτεκτονικής{ph1} · {ph2}Οδηγός Ghidra "
"για Windows{ph3}"

#: website/public/get-started/index.html:1235
msgctxt "page:get-started/index.html"
msgid "IDA · connect an existing installation"
msgstr "IDA · συνδέστε μια υπάρχουσα εγκατάσταση"

#: 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 ""
"Χρησιμοποιήστε τον οδηγό παρόχου ανάλυσης IDA για να προετοιμάσετε μια "
"καταχώριση MCP του υποκείμενου διακομιστή. Επιλέξτε ένα συνδεδεμένο γραφικό "
"περιβάλλον με ανοιχτό το αρχικό δυαδικό αρχείο ή έναν επόπτη χωρίς γραφικό "
"περιβάλλον που ανοίγει ιδιωτική βάση δεδομένων."

#: 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 ""
"Τα επαληθευμένα προφίλ περιλαμβάνουν το παλαιό γραφικό περιβάλλον και τον "
"επόπτη χωρίς γραφικό περιβάλλον στα Windows, καθώς και έναν επόπτη χωρίς "
"γραφικό περιβάλλον σε macOS arm64 με IDA Professional 9.1. Η προαιρετική "
"εγγενής γέφυρα γραφικού περιβάλλοντος έχει δικές της απαιτήσεις έκδοσης και "
"πλατφόρμας."

#: website/public/get-started/index.html:1263
msgctxt "page:get-started/index.html"
msgid "Prepare the IDA registration file"
msgstr "Προετοιμάστε το αρχείο καταχώρισης 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 ""
"Εγκαταστήστε και ρυθμίστε τον υποκείμενο διακομιστή με τον παρακάτω οδηγό "
"IDA. Έπειτα αποθηκεύστε την καταχώρισή του που λειτουργεί ως {ph0} σε έναν "
"επεξεργαστή κειμένου. Στα Windows, επιλέξτε «All files» κατά την αποθήκευση "
"στο Notepad ώστε να μην προσθέσει {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 ""
"Για έναν επόπτη χωρίς γραφικό περιβάλλον που παρέχει {ph0}, {ph1} και {ph2},"
" το αρχείο μπορεί να έχει αυτή τη μορφή:"

#. {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 ""
"Για έναν συνδεδεμένο παλαιό διακομιστή GUI 1.4.0, αντιγράψτε τα λειτουργικά "
"{ph0}, {ph1} και το προαιρετικό {ph2} στο αρχείο. Ανοίξτε το αρχικό δυαδικό "
"αρχείο στο IDA και ξεκινήστε το πρόσθετο του υποκείμενου διακομιστή πριν "
"ζητήσετε από το REA να το εξετάσει."

#: 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 ""
"Χρησιμοποιήστε το αρχείο καταχώρισης JSON που προετοιμάσατε με τον οδηγό "
"παρόχου ανάλυσης, εκτελέστε ξανά τη ρύθμιση και επανεκκινήστε τον βοηθό σας."

#. {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}Προφίλ IDA, παραδείγματα καταχώρισης και επαληθευμένες πλατφόρμες{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 ""
"Μόλις συνδεθείτε, δώστε στον βοηθό σας την πλήρη διαδρομή του αρχικού "
"εκτελέσιμου και κατονομάστε τον πάροχο ανάλυσής σας:"

#. {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}Ακολουθήστε ένα παράδειγμα ανάλυσης εγγενούς κώδικα{ph1}"

#: website/public/get-started/index.html:1365
msgctxt "page:get-started/index.html"
msgid "Websites, Android, .NET, firmware and other targets"
msgstr "Ιστότοποι, Android, .NET, υλικολογισμικό και άλλοι στόχοι"

#: 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 ""
"Ανοίξτε τον οδηγό για τον στόχο που διαθέτετε. Κάθε οδηγός δίνει τα πρόσθετα"
" εργαλεία, τα υποστηριζόμενα συστήματα φιλοξενίας και την πρώτη εντολή."

#: website/public/get-started/index.html:1376
msgctxt "page:get-started/index.html"
msgid "Target"
msgstr "Στόχος"

#: website/public/get-started/index.html:1377
msgctxt "page:get-started/index.html"
msgid "Tools to prepare"
msgstr "Εργαλεία προς προετοιμασία"

#: website/public/get-started/index.html:1378
msgctxt "page:get-started/index.html"
msgid "Guide"
msgstr "Οδηγός"

#: 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}Ανοίξτε τον οδηγό{ph1}"

#: website/public/get-started/index.html:1388
msgctxt "page:get-started/index.html"
msgid "Website"
msgstr "Ιστότοπος"

#: website/public/get-started/index.html:1393
msgctxt "page:get-started/index.html"
msgid ".NET / Flutter / packages"
msgstr ".NET / Flutter / πακέτα"

#: website/public/get-started/index.html:1403
msgctxt "page:get-started/index.html"
msgid "Android APK"
msgstr "Android APK"

#: website/public/get-started/index.html:1413
msgctxt "page:get-started/index.html"
msgid "Android device"
msgstr "Συσκευή Android"

#: website/public/get-started/index.html:1423
msgctxt "page:get-started/index.html"
msgid "Android resources"
msgstr "Πόροι Android"

#: website/public/get-started/index.html:1433
msgctxt "page:get-started/index.html"
msgid "JEB project"
msgstr "Έργο JEB"

#: website/public/get-started/index.html:1443
msgctxt "page:get-started/index.html"
msgid "Firmware"
msgstr "Υλικολογισμικό"

#: website/public/get-started/index.html:1453
msgctxt "page:get-started/index.html"
msgid "WASM"
msgstr "WASM"

#: website/public/get-started/index.html:1463
msgctxt "page:get-started/index.html"
msgid "SQLite database"
msgstr "Βάση δεδομένων 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:1483
msgctxt "page:get-started/index.html"
msgid "ELF / Linux crash"
msgstr "ELF / κατάρρευση 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 "Λογικά σήματα"

#: website/public/get-started/index.html:1523
msgctxt "page:get-started/index.html"
msgid "Process behavior"
msgstr "Συμπεριφορά διεργασίας"

#. {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}Οδηγός Flutter{ph1} · {ph2}Πακέτα και πόροι{ph3} · {ph4}Κώδικας "
"bytecode EVM{ph5} · {ph6}Όλοι οι οδηγοί διερεύνησης{ph7}"

#: website/public/get-started/index.html:1555
msgctxt "page:get-started/index.html"
msgid "Use REA from a terminal"
msgstr "Χρησιμοποιήστε το REA από τερματικό"

#: website/public/get-started/index.html:1557
msgctxt "page:get-started/index.html"
msgid "CLI commands, global installation and curl"
msgstr "Εντολές CLI, καθολική εγκατάσταση και 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 ""
"Αντικαταστήστε το {ph0} με ένα όνομα ή μια διεύθυνση συνάρτησης από τη λίστα"
" συναρτήσεων του στόχου. Το Ghidra πρέπει να έχει ρυθμιστεί πρώτα."

#: 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 ""
"Σε macOS ή Linux, μπορείτε επίσης να χρησιμοποιήσετε το πρόγραμμα "
"εγκατάστασης μέσω curl αφού προετοιμάσετε το Node.js:"

#. {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 ""
"Ακολουθήστε τις οδηγίες ρύθμισης για να συνδέσετε τον βοηθό σας. Αν δεν "
"εμφανιστούν, εκτελέστε {ph0}."

#: 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 ""
"Χρησιμοποιήστε τον έλεγχο εφαρμογής του βήματος 3 με το αναγνωριστικό "
"ρύθμισής σας. Σε εφαρμογές επεξεργασίας κώδικα, ενεργοποιήστε το REA στις "
"ρυθμίσεις MCP και επιτρέψτε τα εργαλεία του στη συνομιλία του βοηθού."

#: website/public/get-started/index.html:1724
msgctxt "page:get-started/index.html"
msgid "Windows, WSL and paths with spaces"
msgstr "Windows, WSL και διαδρομές με κενά"

#: 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 ""
"Χρησιμοποιήστε Windows PowerShell για εφαρμογές και εργαλεία ανάλυσης των "
"Windows. Αν ο βοηθός σας εκτελείται μέσα σε WSL, εγκαταστήστε Node.js και "
"REA σε εκείνο το περιβάλλον Linux και χρησιμοποιήστε εκεί διαδρομές Linux. "
"Οι πάροχοι ανάλυσης χωρίς γραφικό περιβάλλον εκτελούνται στο ίδιο σύστημα με"
" το REA."

#: website/public/get-started/index.html:1734
msgctxt "page:get-started/index.html"
msgid "Windows setup command:"
msgstr "Εντολή ρύθμισης για Windows:"

#: website/public/get-started/index.html:1751
msgctxt "page:get-started/index.html"
msgid "Update or remove REA"
msgstr "Ενημερώστε ή αφαιρέστε το 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 ""
"Για να ανανεώσετε τη σύνδεση του βοηθού σας, εκτελέστε ξανά την πιο πρόσφατη"
" εντολή ρύθμισης, ελέγξτε το σχέδιό της και επανεκκινήστε την εφαρμογή σας."

#. {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 ""
"Αν εγκαταστήσατε το καθολικό CLI, ενημερώστε το με {ph0}. Χρησιμοποιήστε το "
"{ph1} για να αφαιρέσετε τη διαμόρφωση εφαρμογών και τη δεξιότητα του 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}Λεπτομέρειες ενημέρωσης και απεγκατάστασης{ph1}"

#: website/public/get-started/index.html:322
msgctxt "page:get-started/index.html"
msgid "Copy Windows REA setup command"
msgstr "Αντιγραφή εντολής ρύθμισης REA για 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 "Αντιγραφή εντολής"

#: website/public/get-started/index.html:895
msgctxt "page:get-started/index.html"
msgid "Copy Notes investigation prompt"
msgstr "Αντιγραφή προτροπής διερεύνησης σημειώσεων"

#. {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}Πώς λειτουργεί{ph1}"

#. {ph0}: <a href="#showcases">
#. {ph1}: </a>
#: website/public/index.html:217
#, python-brace-format
msgctxt "page:index.html"
msgid "{ph0}Showcases{ph1}"
msgstr "{ph0}Μελέτες{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 ""
"Ρωτήστε τον βοηθό προγραμματισμού σας για μια εφαρμογή, ένα παιχνίδι ή έναν "
"ιστότοπο. Το REA τού δίνει τα εργαλεία για να εξετάσει τον κώδικα που εξηγεί"
" την απάντηση."

#: website/public/index.html:235
msgctxt "page:index.html"
msgid "Get started"
msgstr "Ξεκινήστε"

#: website/public/index.html:236
msgctxt "page:index.html"
msgid "See an example ↓"
msgstr "Δείτε ένα παράδειγμα ↓"

#. {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}Μελέτες →{ph1} — διερευνήσεις και διαδραστικά παραδείγματα."

#. {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}Ιστολόγιο →{ph1} — μέθοδοι και σημειώσεις ανακατασκευής."

#: website/public/index.html:296
msgctxt "page:index.html"
msgid "Setup for your platform:"
msgstr "Ρύθμιση για την πλατφόρμα σας:"

#. {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 "Άλλοι τρόποι εγκατάστασης: {ph0}{ph1} →{ph2}"

#: website/public/index.html:326
msgctxt "page:index.html"
msgid "How it works"
msgstr "Πώς λειτουργεί"

#: 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 ""
"Αντίστροφη μηχανική σημαίνει να μαθαίνετε πώς λειτουργεί το λογισμικό "
"εξετάζοντας το ίδιο το πρόγραμμα. Με το REA, ο βοηθός σας μπορεί να "
"ακολουθήσει τον κώδικα, να εξηγήσει μια λειτουργία και να σας βοηθήσει να "
"την ανακατασκευάσετε."

#: website/public/index.html:335
msgctxt "page:index.html"
msgid "Ask about one feature"
msgstr "Ρωτήστε για μία λειτουργία"

#: website/public/index.html:336
msgctxt "page:index.html"
msgid "Give your agent a program or page and a question."
msgstr "Δώστε στον βοηθό σας ένα πρόγραμμα ή μια σελίδα και μια ερώτηση."

#: website/public/index.html:339
msgctxt "page:index.html"
msgid "Inspect the program"
msgstr "Εξετάστε το πρόγραμμα"

#: website/public/index.html:340
msgctxt "page:index.html"
msgid "REA returns code, references and runtime observations."
msgstr "Το REA επιστρέφει κώδικα, αναφορές και παρατηρήσεις από την εκτέλεση."

#: website/public/index.html:343
msgctxt "page:index.html"
msgid "Explain it, then try a change"
msgstr "Εξηγήστε το και δοκιμάστε μια αλλαγή"

#: website/public/index.html:344
msgctxt "page:index.html"
msgid "Your agent uses the findings to explain or rebuild the feature."
msgstr ""
"Ο βοηθός σας χρησιμοποιεί τα ευρήματα για να εξηγήσει ή να ανακατασκευάσει "
"τη λειτουργία."

#: website/public/index.html:350
msgctxt "page:index.html"
msgid "See the full Calculator investigation"
msgstr "Δείτε ολόκληρη τη διερεύνηση του Calculator"

#. {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 "Γιατί το Calculator δίνει 220 για το {ph0};"

#: website/public/index.html:360
msgctxt "page:index.html"
msgid "Follow the instructions step by step"
msgstr "Ακολουθήστε τις εντολές βήμα προς βήμα"

#: website/public/index.html:511
msgctxt "page:index.html"
msgid "Ask your agent the same question"
msgstr "Κάντε την ίδια ερώτηση στον βοηθό σας"

#: 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 ""
"Ας δοκιμάσουμε δύο παραδείγματα: αλλάζουμε την ταχύτητα ενός παιχνιδιού και "
"έπειτα ανακατασκευάζουμε το κουμπί % του Calculator."

#: 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 ""
"Το παιχνίδι επιταχύνει όσο τρέχετε. Για να το ανακατασκευάσουμε με "
"ρυθμιστικό ταχύτητας, πρέπει πρώτα να βρούμε πώς αλλάζει η ταχύτητα."

#: website/public/index.html:592
msgctxt "page:index.html"
msgid "1. Ask about the speed"
msgstr "1. Ρωτήστε για την ταχύτητα"

#. {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}Παράδειγμα ερώτησης · Παιχνίδι με "
"τον δεινόσαυρο"

#: website/public/index.html:618
msgctxt "page:index.html"
msgid "2. Find the speed rule"
msgstr "2. Βρείτε τον κανόνα ταχύτητας"

#: 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 επιτρέπει στον βοηθό να διαβάσει τον κώδικα του παιχνιδιού που "
"εκτελείται. Η ταχύτητα ξεκινά από το 6 και αυξάνεται λίγο σε κάθε ενημέρωση "
"όσο παραμένει κάτω από το 13."

#: website/public/index.html:626
msgctxt "page:index.html"
msgid "3. Play the result"
msgstr "3. Παίξτε το αποτέλεσμα"

#: 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 ""
"Ανακατασκευάσαμε αυτόν τον κανόνα στο παρακάτω μικρό παιχνίδι και προσθέσαμε"
" ρυθμιστικό ταχύτητας. Πατήστε Έναρξη και έπειτα επιλέξτε τη δική σας "
"ταχύτητα."

#: 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 ""
"Ενεργοποιήστε τη JavaScript για να παίξετε. Μπορείτε πάντως να διαβάσετε τον"
" κανόνα και να ανοίξετε τον παρακάτω πηγαίο κώδικα."

#: 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 ""
"Ξεκινήστε από το 6. Προσθέστε 0.001 σε κάθε ενημέρωση χωρίς σύγκρουση, όσο η"
" ταχύτητα παραμένει κάτω από το 13."

#: 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 ""
"Το κουμπί % κάνει διαφορετικά πράγματα μετά το + και το ×. Ας βρούμε τους "
"δύο κανόνες και ας τους δοκιμάσουμε σε μια μικρή αριθμομηχανή."

#: website/public/index.html:816
msgctxt "page:index.html"
msgid "1. Ask about the % button"
msgstr "1. Ρωτήστε για το κουμπί %"

#. {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}Παράδειγμα ερώτησης · Calculator"

#: website/public/index.html:842
msgctxt "page:index.html"
msgid "2. Find both rules"
msgstr "2. Βρείτε και τους δύο κανόνες"

#: 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 βοηθά τον βοηθό προγραμματισμού να διαβάσει τον κώδικα πίσω από το "
"κουμπί %. Το κουμπί εφαρμόζει δύο διαφορετικούς κανόνες:"

#: website/public/index.html:864
msgctxt "page:index.html"
msgid "3. Try the % button"
msgstr "3. Δοκιμάστε το κουμπί %"

#: website/public/index.html:865
msgctxt "page:index.html"
msgid "We recreated both rules below. Choose + or ×, press %, then press =."
msgstr ""
"Αναπαραγάγαμε και τους δύο κανόνες παρακάτω. Επιλέξτε + ή ×, πατήστε % και "
"έπειτα =."

#: website/public/index.html:1028
msgctxt "page:index.html"
msgid "REA case studies."
msgstr "Μελέτες περίπτωσης του REA."

#: 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 ""
"Εξερευνήστε μια λειτουργία σε μια κυκλοφορημένη εφαρμογή ή ένα παιχνίδι, με "
"κώδικα και ελεγμένα αποτελέσματα."

#: website/public/index.html:1038
msgctxt "page:index.html"
msgid "Android · APK analysis"
msgstr "Android · Ανάλυση APK"

#: website/public/index.html:1039
msgctxt "page:index.html"
msgid "How an authenticator generates a login code"
msgstr "Πώς μια εφαρμογή ελέγχου ταυτότητας δημιουργεί κωδικό σύνδεσης"

#: 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 ""
"Ακολουθήστε τον εξαψήφιο κωδικό σύνδεσης του Aegis μέσα από το APK που έχει "
"κυκλοφορήσει και έπειτα μετακινήστε το ρολόι του παραδείγματος για να δείτε "
"γιατί αλλάζει κάθε 30 δευτερόλεπτα."

#: website/public/index.html:1044
msgctxt "page:index.html"
msgid "Read the Android case study"
msgstr "Διαβάστε τη μελέτη περίπτωσης Android"

#: website/public/index.html:1049
msgctxt "page:index.html"
msgid "Electron · Feature tracing"
msgstr "Electron · Ιχνηλάτηση λειτουργίας"

#: website/public/index.html:1050
msgctxt "page:index.html"
msgid "How Notion copies text and HTML"
msgstr "Πώς το Notion αντιγράφει κείμενο και HTML"

#: 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 ""
"Ακολουθήστε τη JavaScript του πακέτου Notion μέχρι το πρόχειρο του "
"συστήματος και δείτε πώς η αντιγραφή διατηρεί τα πλούσια δεδομένα των μπλοκ."

#: website/public/index.html:1055
msgctxt "page:index.html"
msgid "Read the Notion case study"
msgstr "Διαβάστε τη μελέτη περίπτωσης Notion"

#: website/public/index.html:1060
msgctxt "page:index.html"
msgid "Native · Reconstruction"
msgstr "Κώδικας μηχανής · Ανακατασκευή"

#: website/public/index.html:1061
msgctxt "page:index.html"
msgid "DX-Ball's sound-pan calculation"
msgstr "Ο υπολογισμός στερεοφωνικής τοποθέτησης ήχου του DX-Ball"

#: 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 ""
"Ανακτήστε πώς η θέση μιας μπάλας μετατρέπεται σε ήχο αριστερά/δεξιά σε ένα "
"παιχνίδι Windows του 1996."

#: website/public/index.html:1066
msgctxt "page:index.html"
msgid "Read the DX-Ball case study"
msgstr "Διαβάστε τη μελέτη περίπτωσης DX-Ball"

#: website/public/index.html:1093
msgctxt "page:index.html"
msgid "Choose your target."
msgstr "Επιλέξτε τον στόχο σας."

#: website/public/index.html:1094
msgctxt "page:index.html"
msgid ""
"These guides cover setup and a first investigation for each kind of "
"software."
msgstr ""
"Αυτοί οι οδηγοί καλύπτουν τη ρύθμιση και μια πρώτη διερεύνηση για κάθε είδος"
" λογισμικού."

#: website/public/index.html:1126
msgctxt "page:index.html"
msgid "Try a larger project"
msgstr "Δοκιμάστε ένα μεγαλύτερο έργο"

#. {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}Διαβάστε τις συχνές ερωτήσεις{ph1} — ρύθμιση και συνηθισμένες απορίες."

#. {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}Μπείτε στο Discord{ph1} — ζητήστε βοήθεια και συζητήστε τις "
"διερευνήσεις σας."

#. {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{ph1} — αναφέρετε ένα σφάλμα ή ζητήστε μια "
"λειτουργία."

#: website/public/index.html:295
msgctxt "page:index.html"
msgid "Setup options"
msgstr "Επιλογές ρύθμισης"

#. {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 ""
"Το προφίλ χωρίς γραφικό περιβάλλον για macOS και η εγγενής γέφυρα γραφικού "
"περιβάλλοντος απαιτούν {ph0}μεταγλώττιση του REA από τον πηγαίο κώδικα{ph1} "
"ή έκδοση που περιλαμβάνει αυτές τις αλλαγές. Η έκδοση npm {ph2} δεν τις "
"περιλαμβάνει."

#. {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 ""
"Από το μεταγλωττισμένο αντίγραφο του αποθετηρίου, εκτελέστε {ph0} και {ph1} "
"αντί για τις παρακάτω εντολές {ph2}."

#. {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 ""
"Αν το κέλυφός σας δεν βρίσκει το {ph0}, χρησιμοποιήστε τη διαδρομή "
"εκτελέσιμου που εμφανίζει το πρόγραμμα εγκατάστασης. Στο Linux, η "
"προεπιλεγμένη εντολή ρύθμισης είναι {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 ""
"Χρησιμοποιήστε το REA με τον ρυθμισμένο πάροχο ανάλυσής μου για να εξετάσετε"
" το {ph0}. Παραθέστε τις συναρτήσεις και τις συμβολοσειρές του και εξηγήστε "
"το τμήμα που χειρίζεται την είσοδο του χρήστη με αναφορές στον κώδικα."

#: 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 "Συνεισφέροντες"

#: website/public/contributors/index.html:108
msgctxt "page:contributors/index.html"
msgid "Skip to content"
msgstr "Μετάβαση στο περιεχόμενο"

#. {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}Αρχική{ph1} / Συνεισφέροντες"

#: website/public/contributors/index.html:201
msgctxt "page:contributors/index.html"
msgid "Built together."
msgstr "Το φτιάχνουμε μαζί."

#: website/public/contributors/index.html:202
msgctxt "page:contributors/index.html"
msgid "Thank you to everyone who helps make REA better."
msgstr "Ευχαριστούμε όλους όσοι βοηθούν να γίνει το 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 ""
"Κώδικας, τεκμηρίωση, δοκιμές, μεταφράσεις και ιδέες — υπάρχουν πολλοί τρόποι"
" να συνεισφέρετε."

#: website/public/contributors/index.html:208
msgctxt "page:contributors/index.html"
msgid "How to contribute"
msgstr "Πώς να συνεισφέρετε"

#: website/public/contributors/index.html:213
msgctxt "page:contributors/index.html"
msgid "Join the conversation →"
msgstr "Συμμετέχετε στη συζήτηση →"

#: website/public/contributors/index.html:223
msgctxt "page:contributors/index.html"
msgid "Contributors"
msgstr "Συνεισφέροντες"

#: website/public/contributors/index.html:225
msgctxt "page:contributors/index.html"
msgid "Find a contributor"
msgstr "Βρείτε έναν συνεισφέροντα"

#. {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 "Από τη {ph0}λίστα συνεισφερόντων του GitHub{ph1} · Ενημερώθηκε {ph2}."

#: website/public/contributors/index.html:1117
msgctxt "page:contributors/index.html"
msgid "No matching contributors. Try another username."
msgstr ""
"Δεν βρέθηκαν συνεισφέροντες που να ταιριάζουν. Δοκιμάστε άλλο όνομα χρήστη."

#: website/public/contributors/index.html:6
msgctxt "page:contributors/index.html"
msgid "Contributors · REA"
msgstr "Συνεισφέροντες · 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 ""
"Γνωρίστε τους ανθρώπους που συνεισφέρουν κώδικα, τεκμηρίωση, δοκιμές και "
"ιδέες στο REA."

#: website/public/contributors/index.html:226
msgctxt "page:contributors/index.html"
msgid "GitHub username"
msgstr "Όνομα χρήστη GitHub"

#: website/public/contributors/index.html:1137
msgctxt "page:contributors/index.html"
msgid "Back to top"
msgstr "Επιστροφή στην κορυφή"

#: website/public/assets/contributors.js:21
#, python-brace-format
msgctxt "runtime"
msgid "Contributors: {count}"
msgstr "Συνεισφέροντες: {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 ""

#, python-brace-format
#~ msgctxt "page:first-investigation/index.html"
#~ msgid "{ph0} · CSV formatter"
#~ msgstr ""

#~ 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid ""
#~ "Connect REA to your coding agent, or inspect a local app from your terminal."
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid "{ph0}Windows (PowerShell){ph1}"
#~ msgstr ""

#, 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "If you use Homebrew:"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Otherwise:"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Close Terminal, open it again, then:"
#~ 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Setup options"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid "{ph0}Connect your coding agent{ph1}"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid "{ph0}Set up native analysis{ph1}"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Connect your coding agent"
#~ msgstr ""

#~ 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "New to coding agents?"
#~ msgstr ""

#~ 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid ""
#~ "If you don't have one yet, pick one, follow its install page and sign in:"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid ""
#~ "{ph0}{ph1}Claude Code{ph2}{ph3} by Anthropic. Needs a paid Claude plan."
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid ""
#~ "{ph0}{ph1}Codex{ph2}{ph3} by OpenAI. Sign in with your ChatGPT account."
#~ msgstr ""

#, 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 ""

#~ 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Restart your client when setup finishes."
#~ msgstr ""

#~ 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 ""

#, 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Replace the path with your local target."
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Use the CLI"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Set up native analysis"
#~ msgstr ""

#~ 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Choose a tool: Ghidra, Hopper or IDA"
#~ msgstr ""

#~ 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Ghidra connection · macOS / Linux"
#~ msgstr ""

#~ 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Ghidra connection · Windows PowerShell"
#~ msgstr ""

#~ 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 ""

#~ 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Connect an existing IDA MCP registration"
#~ msgstr ""

#, 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "IDA connection · Windows PowerShell"
#~ msgstr ""

#, 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 ""

#, 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "For an existing Ghidra setup, inspect a function with:"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Function analysis"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:get-started/index.html"
#~ msgid "Replace {ph0} with the function name or address you want to inspect."
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "How native analysis sessions work"
#~ msgstr ""

#~ 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 ""

#, 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 ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Check one client"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy PowerShell execution policy command"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy fnm installation command for macOS"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy Node.js 24 commands for macOS"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy agent setup command"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy Ghidra connection for macOS and Linux"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy Ghidra connection for Windows PowerShell"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy IDA connection for Windows PowerShell"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy native function analysis command"
#~ msgstr ""

#~ msgctxt "page:get-started/index.html"
#~ msgid "Copy client diagnosis command"
#~ msgstr ""

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}What is RE?{ph1}"
#~ msgstr "{ph0}Τι είναι η αντίστροφη μηχανική;{ph1}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}How REA helps{ph1}"
#~ msgstr "{ph0}Πώς βοηθά το REA{ph1}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}Help & feedback{ph1}"
#~ msgstr "{ph0}Βοήθεια και σχόλια{ph1}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "{ph0}Community{ph1}"
#~ msgstr "{ph0}Κοινότητα{ph1}"

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "REA gives your agent the tools to inspect a program and explain what it "
#~ "does."
#~ msgstr ""
#~ "Το REA δίνει στον agent σας τα εργαλεία για να εξετάσει ένα πρόγραμμα και να"
#~ " εξηγήσει τι κάνει."

#~ msgctxt "page:index.html"
#~ msgid "See how REA works ↓"
#~ msgstr "Δείτε πώς λειτουργεί το REA ↓"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Get started {ph0}"
#~ msgstr "Ξεκινήστε {ph0}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Already know RE? {ph0}Skip to analysis guides →{ph1}"
#~ msgstr ""
#~ "Γνωρίζετε ήδη αντίστροφη μηχανική; {ph0}Μεταβείτε στους οδηγούς ανάλυσης "
#~ "→{ph1}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Want to go deeper? {ph0}Read the Blog →{ph1}"
#~ msgstr "Θέλετε να εμβαθύνετε; {ph0}Διαβάστε το Ιστολόγιο →{ph1}"

#~ msgctxt "page:index.html"
#~ msgid "What is reverse engineering?"
#~ msgstr "Τι είναι η αντίστροφη μηχανική;"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid ""
#~ "Finding out how software works by {ph0}examining the program itself.{ph1}"
#~ msgstr ""
#~ "Η διαδικασία με την οποία μαθαίνουμε πώς λειτουργεί ένα λογισμικό "
#~ "{ph0}εξετάζοντας το ίδιο το πρόγραμμα.{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 ""
#~ "Στόχος: να κατανοήσουμε μια λειτουργία αρκετά καλά ώστε να την "
#~ "{ph0}εξηγήσουμε{ph1}, να την {ph2}αλλάξουμε{ph3} ή να την "
#~ "{ph4}ανακατασκευάσουμε.{ph5}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "One question: {ph0}why does Calculator give 220 for {ph1}?{ph2}"
#~ msgstr "Ένα ερώτημα: {ph0}γιατί το Calculator δίνει 220 για {ph1};{ph2}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Before REA · You investigate it {ph0}yourself{ph1}"
#~ msgstr "Πριν από το REA · Κάνετε την έρευνα {ph0}μόνοι σας{ph1}"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "With REA · You ask {ph0}your agent{ph1}"
#~ msgstr "Με το REA · Ρωτάτε {ph0}τον agent σας{ph1}"

#~ msgctxt "page:index.html"
#~ msgid "One prompt."
#~ msgstr "Ένα prompt."

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Ask your agent {ph0}in plain English.{ph1}"
#~ msgstr "Ρωτήστε τον agent σας {ph0}σε απλά λόγια.{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}Ας δοκιμάσουμε δύο παραδείγματα.{ph1} Αλλάξτε την ταχύτητα ενός "
#~ "παιχνιδιού και έπειτα επιστρέψτε στο Calculator για να ανακατασκευάσετε το "
#~ "κουμπί %."

#~ msgctxt "page:index.html"
#~ msgid "Goal"
#~ msgstr "Στόχος"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid "Rebuild the game with {ph0}adjustable speed.{ph1}"
#~ msgstr "Ανακατασκευή του παιχνιδιού με {ph0}ρυθμιζόμενη ταχύτητα.{ph1}"

#~ msgctxt "page:index.html"
#~ msgid "Why reverse engineer it?"
#~ msgstr "Γιατί να εφαρμόσουμε αντίστροφη μηχανική;"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid ""
#~ "To reproduce its acceleration, we need {ph0}the rule in the running "
#~ "game{ph1}: how fast it starts, how much it increases and when it stops."
#~ msgstr ""
#~ "Για να αναπαραγάγουμε την επιτάχυνση, χρειαζόμαστε {ph0}τον κανόνα του "
#~ "παιχνιδιού κατά την εκτέλεση{ph1}: την αρχική ταχύτητα, τον ρυθμό αύξησής "
#~ "της και το σημείο στο οποίο σταματά να αυξάνεται."

#~ msgctxt "page:index.html"
#~ msgid "Play the reconstruction"
#~ msgstr "Παίξτε την ανακατασκευή"

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "Enable JavaScript to play the reconstruction. The code and explanation above"
#~ " remain readable."
#~ msgstr ""
#~ "Ενεργοποιήστε τη JavaScript για να παίξετε την ανακατασκευή. Ο παραπάνω "
#~ "κώδικας και η εξήγηση παραμένουν αναγνώσιμα."

#~ msgctxt "page:index.html"
#~ msgid "REA returned"
#~ msgstr "Το REA επέστρεψε"

#, 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}Το script που εκτελείται πραγματικά στη σελίδα.{ph1} Ο agent διαβάζει "
#~ "τη συνάρτηση ενημέρωσης και τις ρυθμίσεις ταχύτητας και έπειτα χρησιμοποιεί "
#~ "αυτόν τον κανόνα σε ένα νέο παιχνίδι."

#, 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}Παράδειγμα prompt · Παιχνίδι με τον "
#~ "δεινόσαυρο"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid ""
#~ "{ph0}Start at 6.{ph1} Add {ph2}0.001{ph3} each update without a collision, "
#~ "while speed is below {ph4}13{ph5}."
#~ msgstr ""
#~ "{ph0}Εκκίνηση από 6.{ph1} Προσθέστε {ph2}0.001{ph3} σε κάθε ενημέρωση χωρίς "
#~ "σύγκρουση, όσο η ταχύτητα είναι κάτω από {ph4}13{ph5}."

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid ""
#~ "We saw why {ph0}{ph1} gives 220.{ph2} Now let’s recover the rules for both +"
#~ " and ×, and try them."
#~ msgstr ""
#~ "Είδαμε γιατί το {ph0}{ph1} δίνει 220.{ph2} Τώρα θα ανακτήσουμε τους κανόνες "
#~ "για το + και το × και θα τους δοκιμάσουμε."

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid ""
#~ "Build a small calculator that handles {ph0}both + and × correctly.{ph1}"
#~ msgstr ""
#~ "Κατασκευάστε μια μικρή αριθμομηχανή που χειρίζεται {ph0}σωστά και το + και "
#~ "το ×.{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 ""
#~ "Το ίδιο κουμπί χρησιμοποιεί {ph0}διαφορετικούς κανόνες μετά το + και το "
#~ "×.{ph1} Εξετάζουμε την εγκατεστημένη εφαρμογή για να βρούμε σε ποιον αριθμό "
#~ "εφαρμόζεται το ποσοστό."

#~ msgctxt "page:index.html"
#~ msgid "Try the calculation"
#~ msgstr "Δοκιμάστε τον υπολογισμό"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid ""
#~ "{ph0}One branch divides by 100. The other also multiplies by the first "
#~ "number.{ph1} The agent uses both to recreate the % button."
#~ msgstr ""
#~ "{ph0}Η μία διακλάδωση διαιρεί με το 100. Η άλλη πολλαπλασιάζει επίσης με τον"
#~ " πρώτο αριθμό.{ph1} Ο agent χρησιμοποιεί και τις δύο για να αναδημιουργήσει "
#~ "το κουμπί %."

#, 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}Παράδειγμα prompt · Ανακατασκευή του"
#~ " κουμπιού %"

#~ msgctxt "page:index.html"
#~ msgid "Want to go deeper?"
#~ msgstr "Θέλετε να εμβαθύνετε;"

#, 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 ""
#~ "Πείτε στον agent σας τι θέλετε να κατανοήσετε ή να κατασκευάσετε. Με το REA "
#~ "μπορείτε να συνεργαστείτε σε οτιδήποτε, από την {ph0}κλωνοποίηση αυτού του "
#~ "ιστοτόπου{ph1} μέχρι την {ph2}ανακατασκευή ενός παιχνιδιού από το εκτελέσιμο"
#~ " αρχείο του.{ph3}"

#~ msgctxt "page:index.html"
#~ msgid "For setup and analysis steps, choose your target:"
#~ msgstr "Για τα βήματα ρύθμισης και ανάλυσης, επιλέξτε τον τύπο στόχου:"

#, python-brace-format
#~ msgctxt "page:index.html"
#~ msgid ""
#~ "{ph0}Read the FAQ{ph1}, {ph2}chat with us on Discord{ph3}, or {ph4}open a "
#~ "GitHub issue{ph5} for bugs and feature requests."
#~ msgstr ""
#~ "{ph0}Διαβάστε τις συχνές ερωτήσεις{ph1}, {ph2}συνομιλήστε μαζί μας στο "
#~ "Discord{ph3} ή {ph4}ανοίξτε ένα issue στο GitHub{ph5} για σφάλματα και "
#~ "αιτήματα λειτουργιών."

#~ msgctxt "page:index.html"
#~ msgid "Join the community"
#~ msgstr "Ελάτε στην κοινότητα"

#~ msgctxt "page:index.html"
#~ msgid ""
#~ "Share investigations and get help from other REA users on Discord. Follow "
#~ "REA on X for project updates."
#~ msgstr ""
#~ "Μοιραστείτε διερευνήσεις και ζητήστε βοήθεια από άλλους χρήστες του REA στο "
#~ "Discord. Ακολουθήστε το REA στο X για ενημερώσεις σχετικά με το έργο."

#~ msgctxt "page:index.html"
#~ msgid "Follow @reatools on X"
#~ msgstr "Ακολουθήστε το @reatools στο X"
