Files
Outer-Wilds-SK-Translation-Mod/PLAN.md
T
Jaroslav Beneš 1082d91e3b Translate UI/menus category to Slovak (Phase 5, first pass)
Machine-assisted first pass over the entire <table_ui> section — all 814
UI/menu strings translated to Slovak. Integer <key> IDs left untouched;
preserved \n newline markers, <!> input-prompt tokens, <Profile Name>
placeholder, and color/italic markup verbatim. Casing mirrors the source
(ALL-CAPS button labels stay caps). Uses the glossary's tone (informal ty)
and term renderings. XML re-verified well-formed; mod still builds.

Still needs the Slovak review pass, especially the place-name renderings
flagged in docs/glossary.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 10:32:45 +02:00

5.5 KiB

PLAN.md — Slovak translation of Outer Wilds

Roadmap for building the mod. Status markers: done · 🚧 in progress · todo.

Goal

Add Slovenčina as a fully selectable language to Outer Wilds, covering the base game and the Echoes of the Eye DLC, distributed as an Outer Wilds Mod Manager mod. Quality target: natural, consistent Slovak — not literal machine output.

Approach

  • Built on xen-42's Localization Utility / Interplanetary Polyglot (xen.LocalizationUtility) — register a new language from one Translation.xml. No game files needed to build.
  • Translation: machine-assisted first pass (clean-room, no third-party translation text reused), then a Slovak-speaking human review pass. Phased by category so partial releases are usable: UI/menus → dialogue/text walls → ship log.
  • Scope: the single ~896 KB Translation.xml already contains base game + DLC strings together, so scope is "everything," sequenced internally by category.

Phases

Phase 1 — Repo scaffold & docs

README.md, CLAUDE.md, PLAN.md, and MIT LICENSE in place.

Phase 2 — Mod skeleton

Created the OWML mod shell, modelled on shippy/outer-wilds-czech:

  • manifest.jsonauthor: Homer, uniqueName: Homer.SlovakTranslation, name, version, owmlVersion, dependencies: ["xen.LocalizationUtility"].
  • ILocalizationAPI.cs — interface copied from the utility.
  • SlovakTranslation.csModBehaviour calling api.RegisterLanguage(this, "Slovenčina", "assets/Translation.xml").
  • SlovakTranslation.csproj / .sln, .gitignore, empty assets/.
  • Optional: GitHub/Gitea release workflow.

Phase 3 — Import English source

Imported the base English Translation.xml (896 KB, 2424 entries, keys == values) from the utility repo into assets/. This is the file to translate.

Build verified: dotnet build -c Release compiles against the OWML / OuterWildsGameLibs NuGet packages (no game install needed) and stages a loadable mod folder (SlovakTranslation.dll + manifest.json + default-config.json + assets/Translation.xml) in bin/.

Phase 4 — Glossary 🚧

First draft of docs/glossary.md in place: tone/register locked (informal ty), and SK renderings proposed for the proper nouns and recurring terms below. Rows marked ❓ review still need the Slovak-speaking review pass to finalize.

Write docs/glossary.md fixing SK renderings (or keep-in-English decisions) for proper nouns and recurring terms, e.g.: Nomai, Hearthian, the Eye / Eye of the Universe, Ash Twin Project, Vessel, Black Hole Forge, Quantum Moon, Sun Station, ship log, Nomai statue, Ember Twin, Ash Twin, Timber Hearth, Brittle Hollow, Giant's Deep, Dark Bramble, Interloper, Stranger (DLC), Owlk/"Owlks" (DLC). Decide tone/register (informal ty vs. formal) and lock it here.

Phase 5 — Translate <value> entries 🚧

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 prefixes. Track progress and any hard-to-translate lines here or in issues.

Progress by category (source has 3 sections — the flat <entry> list = dialogue/ text walls, <table_shipLog> = ship log, <table_ui> = UI/menus):

  • UI/menus (<table_ui>, 814 entries) — machine-assisted first pass done. All values translated; integer <key> IDs untouched; \n, &lt;!&gt; input-prompt tokens, &lt;Profile Name&gt; placeholder, and color/italic markup preserved; XML re-verified well-formed. Casing mirrors the source (ALL-CAPS button labels stay caps). Still needs the Slovak review pass, especially the place-name renderings flagged in the glossary (e.g. Ash Twin → Popolavé dvojča, Giant's Deep → Obrova hlbina, Dark Bramble → Temné tŕnie).
  • Dialogue / text walls (flat <entry> list, 2424 entries) — todo.
  • Ship log (<table_shipLog>, 483 entries) — todo.

Phase 6 — Diacritic / font check

Verify the stock game font renders all Slovak glyphs (á ä č ď é í ĺ ľ ň ó ô ŕ š ť ú ý ž). Only if any are missing: build a font asset bundle in Unity 2019.4.27f1 and wire api.AddLanguageFont(...).

Phase 7 — Build & in-game test

Prerequisite: install Outer Wilds + Outer Wilds Mod Manager + OWML (none are on this machine yet). Then dotnet build, load via the Mod Manager, select Slovenčina, and verify menus, dialogue, and ship log render correctly.

Phase 8 — Release

Tag a Gitea release; optionally submit to the Outer Wilds mod database so the mod appears in the Mod Manager for everyone.

Open items / risks

  • Font coverage for Slovak-specific glyphs (ľ ĺ ŕ ô ä) is unverified until in-game testing (Phase 6/7).
  • Translation volume is the real cost — ~896 KB of source text. A Slovak-speaking review pass is essential, especially for DLC/dialogue nuance, puns, and Nomai text-wall length constraints.
  • In-game testing is blocked until the game + Mod Manager are installed locally.
  • Confirm the tone/register decision (Phase 4) early — reworking it later is costly.

References