Translate dialogue batches 19-22: finish the flat list (villagers, Chert/Esker, signs, stragglers)

Completes the machine-assisted first pass of the entire flat dialogue list,
produced in parallel (three translator subagents each emitting a JSON of
translations, applied race-free in the main thread) plus a large main-thread
block:

- Batch 19 - Hearthian village kids/villagers (271): Marl, Tephra, Galena,
  Rutile, Tuff, Spinel, Arkose, Gneiss, Porphy, Mica, model-rocket kid,
  hide-and-seek, ghost-matter kids. Player as mláďa.
- Batch 20 - Chert + Esker + Feldspar's jellyfish journal + Gabbro extras
  (359): Chert the astronomer's supernova breakdown, Esker's Mesačná základňa
  on the Skalka, Ember-Twin research signs, Gneiss the instrument-maker.
- Batch 21 - Giant's Deep signs, Signalscope-kid endgame, credits/epitaph
  signs (backer names kept), museum Nomai-writing signs. ASCII-art left as art.
- Batch 22 - straggler sweep (22): lines the suffix-of-key detector missed due
  to curly/straight-quote drift, found via an English-word heuristic (Gabbro
  bright-flash variants, sap-wine labels, ghost-matter Signáloskop game, ATP
  masks readout at 1964, Tektite's scout note).

Consistency: Hollow's Lantern -> Lampáš (glossary note added), ghost matter ->
prízračná hmota, Hanging City -> Visuté mesto. Whole-file English-leak scan: 0
across flat list, ship log, and UI. dotnet build -c Release succeeds and stages
the loadable mod folder. The entire Translation.xml first pass is now complete;
only the Slovak human review pass remains.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jaroslav Beneš
2026-07-20 19:20:46 +02:00
parent ea50c6dfa6
commit 9935bf68fb
3 changed files with 794 additions and 750 deletions
+47 -3
View File
@@ -59,11 +59,16 @@ ship log, Nomai statue, Ember Twin, Ash Twin, Timber Hearth, Brittle Hollow,
Giant's Deep, Dark Bramble, Interloper, Stranger (DLC), Owlk/"Owlks" (DLC). Giant's Deep, Dark Bramble, Interloper, Stranger (DLC), Owlk/"Owlks" (DLC).
Decide tone/register (informal *ty* vs. formal) and lock it here. Decide tone/register (informal *ty* vs. formal) and lock it here.
### Phase 5 — Translate `<value>` entries 🚧 ### Phase 5 — Translate `<value>` entries ✅ (machine-assisted pass complete; human review pending)
Machine-assisted pass → human review, by category (UI/menus → dialogue → ship log), Machine-assisted pass → human review, by category (UI/menus → dialogue → ship log),
base + DLC. Preserve all `&lt;color=…&gt;`/`&lt;i&gt;` markup, entities, and speaker base + DLC. Preserve all `&lt;color=…&gt;`/`&lt;i&gt;` markup, entities, and speaker
prefixes. Track progress and any hard-to-translate lines here or in issues. prefixes. Track progress and any hard-to-translate lines here or in issues.
**All three categories now have a complete first-pass translation** (UI 814,
ship log 483, dialogue 2423). Whole-file English-leak scan: 0. Remaining work is
the **Slovak-speaking human review pass** (puns, register, Nomai text-wall length,
the review-flagged lines noted per batch).
Progress by category (source has 3 sections — the flat `<entry>` list = dialogue/ Progress by category (source has 3 sections — the flat `<entry>` list = dialogue/
text walls, `<table_shipLog>` = ship log, `<table_ui>` = UI/menus): text walls, `<table_shipLog>` = ship log, `<table_ui>` = UI/menus):
@@ -81,7 +86,12 @@ text walls, `<table_shipLog>` = ship log, `<table_ui>` = UI/menus):
lookups untouched; plain text (no markup). Narrator voice locked to masculine; lookups untouched; plain text (no markup). Narrator voice locked to masculine;
ship-log place names locked in the glossary (§3, §5b). XML re-verified ship-log place names locked in the glossary (§3, §5b). XML re-verified
well-formed; mod builds. **Still needs the Slovak review pass.** well-formed; mod builds. **Still needs the Slovak review pass.**
- **Dialogue / text walls (flat `<entry>` list, 2423 entries) — 🚧 in progress.** - **Dialogue / text walls (flat `<entry>` list, 2423 entries) — ✅ COMPLETE.**
Every `<value>` is translated; the only remaining `value==key` entries are
proper names (kept in English), the panic-scream onomatopoeia, sick-noises,
Kickstarter backer credits, and the ASCII-art easter eggs — all intentional.
A whole-file English-leak heuristic (English function-words present, no Slovak
diacritics/markers) reports **0** leaks in the flat list, ship log, and UI.
Batched by **content type** (not planet — the flat list is asset-ID ordered): Batched by **content type** (not planet — the flat list is asset-ID ordered):
Nomai lore/wall-text (by speaker) → Hearthian villagers → travelers → Nomai lore/wall-text (by speaker) → Hearthian villagers → travelers →
player/system/DLC. Preserve `&lt;color=…&gt;`/`&lt;i&gt;`/`&lt;size=…&gt;` markup, player/system/DLC. Preserve `&lt;color=…&gt;`/`&lt;i&gt;`/`&lt;size=…&gt;` markup,
@@ -196,7 +206,41 @@ text walls, `<table_shipLog>` = ship log, `<table_ui>` = UI/menus):
(AAAH, with `&lt;b&gt;`/`&lt;size=50&gt;` markup) left verbatim as (AAAH, with `&lt;b&gt;`/`&lt;size=50&gt;` markup) left verbatim as
language-neutral. Preserved `&lt;i&gt;`/`&lt;b&gt;`/`&lt;Pause/&gt;`/`&lt;pause&gt;` language-neutral. Preserved `&lt;i&gt;`/`&lt;b&gt;`/`&lt;Pause/&gt;`/`&lt;pause&gt;`
markup and `\\n\\n`. markup and `\\n\\n`.
- **Batch 14 — Feldspar (120 lines) ✅** — the boastful crashed ace in Dark - **Final dialogue sweep (batches 1922) — ✅ done in parallel (subagents +
main), 770 + 22 lines.** The rest of the flat list, produced by three
translator subagents (each writing a JSON of translations, applied
race-free in the main thread) plus a large main-thread block:
- **Batch 19 — Hearthian village kids / villagers (271 lines) ✅** — Marl,
Tephra, Galena, Rutile, Tuff (the sick miner), Spinel, Arkose, Gneiss,
Porphy (sap-wine maker), Mica, the model-rocket kid, hide-and-seek, mayor
Rutile, the ghost-matter kids. Player as *mláďa*; casual kid register.
- **Batch 20 — Chert + Esker + Feldspar's jellyfish journal + Gabbro extras
(359 lines) ✅** — Chert the jittery astronomer on the *Presýpacie
dvojčatá* (star charts, supernovae, his end-of-universe breakdown, the
stargazing campfire finale), **Esker**'s lonely *Mesačná základňa* on the
*Skalka*, Feldspar's jellyfish tasting notes, and Gabbro's statue/"I died"
variant conversations + band-reunion ending. Also the Ember-Twin research
signs, Esker's Signáloskop log, and Gneiss the instrument-maker.
- **Batch 21 — signs, Signalscope kid, endgame + Nomai-writing signs (138
lines) ✅** — Giant's-Deep HUD/observation signs, the Signalscope-kid
endgame scene, the credits/epitaph signs (backer names kept), and the
museum Nomai-writing exhibit signs. ASCII-art easter eggs left as art
(only embedded words like LOADING→*NAČÍTAVA SA* translated).
- **Batch 22 — straggler sweep + consistency (22 lines) ✅** — a whole-file
English-heuristic scan caught 22 lines the *suffix-of-key* detector missed
(curly-vs-straight-quote drift between key and value: Gabbro "bright flash"
variants, the sap-wine labels, the ghost-matter kids' Signáloskop game, two
museum signs, the ATP **masks data-readout** at idx 1964, Tektite's scout
note). **Detection lesson:** "value is a suffix of its ID-prefixed key" is
necessary but not sufficient — always follow up with an English-word / no-
Slovak-diacritic heuristic to catch copied-but-drifted values.
- **Consistency fixes this pass:** Hollow's Lantern → **Lampáš** (not
*Dutinin lampáš*; glossary note added), ghost matter → **prízračná hmota**
(was one *duchová hmota*), Hanging City → **Visuté mesto** (was *Visiace*).
- **Toolchain:** installed `dotnet-sdk` (10.0.110) locally; `dotnet build -c
Release` now **succeeds** (0 warnings/errors) and stages the loadable mod
folder in `bin/Release/` (DLL + manifest + config + assets/Translation.xml).
- **Batch 14 — Feldspar (120 lines) ✅** — the boastful crashed ace in Dark
Bramble (his crash tale, the anglerfish skeleton camp, the "space is Bramble (his crash tale, the anglerfish skeleton camp, the "space is
bigger inside the seeds" theory). Masculine; heavy on *mláďa*; kept his bigger inside the seeds" theory). Masculine; heavy on *mláďa*; kept his
swagger. Remaining travelers: Gabbro (~213), Riebeck (~125), Chert (~150), swagger. Remaining travelers: Gabbro (~213), Riebeck (~125), Chert (~150),
+746 -746
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -78,7 +78,7 @@ planet and moons — not kept in English.
| Timber Hearth (home planet) | **Drevený kozub** | 🔒 | Home planet. Demonym *Kozubčania* derives from *kozub*. | | Timber Hearth (home planet) | **Drevený kozub** | 🔒 | Home planet. Demonym *Kozubčania* derives from *kozub*. |
| The Attlerock (moon) | **Skalka** | 🔒 | Diminutive of *skala* — mirrors the "a little rock" pun. | | The Attlerock (moon) | **Skalka** | 🔒 | Diminutive of *skala* — mirrors the "a little rock" pun. |
| Brittle Hollow | **Krehká dutina** | 🔒 | | | Brittle Hollow | **Krehká dutina** | 🔒 | |
| Hollow's Lantern (moon) | **Lampáš** | 🔒 | | | Hollow's Lantern (moon) | **Lampáš** | 🔒 | Just **Lampáš** — do **not** form a possessive from *Krehká dutina* (never *Dutinin lampáš*). Decline the noun itself: *na Lampáši*, *k Lampášu*. |
| Hourglass Twins | **Presýpacie dvojčatá** | 🔒 | Ember + Ash together. | | Hourglass Twins | **Presýpacie dvojčatá** | 🔒 | Ember + Ash together. |
| Ember Twin | **Dvojča Uhlíka** | 🔒 | Matched pair with *Dvojča Popolu* (uhlík ↔ popol). | | Ember Twin | **Dvojča Uhlíka** | 🔒 | Matched pair with *Dvojča Popolu* (uhlík ↔ popol). |
| Ash Twin | **Dvojča Popolu** | 🔒 | Drives *Projekt Dvojčaťa Popolu* (§4). | | Ash Twin | **Dvojča Popolu** | 🔒 | Drives *Projekt Dvojčaťa Popolu* (§4). |