Phase 2 (mod skeleton) + Phase 3 (import English source): - manifest.json / SlovakTranslation.cs / ILocalizationAPI.cs registering "Slovenčina" via xen.LocalizationUtility (Interplanetary Polyglot). - SlovakTranslation.csproj / .sln building net48 against the OWML and OuterWildsGameLibs NuGet packages — no game install needed to compile. - assets/Translation.xml: English source template (896 KB, 2424 entries, keys == values) to be translated into Slovak. - Project docs (README/PLAN/CLAUDE) and .gitignore. Build verified: dotnet build -c Release stages a loadable mod folder. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4.8 KiB
CLAUDE.md — Outer Wilds SK Translation Mod
Working context for Claude Code (and human contributors) in this repository.
What this repo is
An unofficial Slovak (slovenčina) translation mod for Outer Wilds — base game and the Echoes of the Eye DLC. It is primarily a data/translation project, not a conventional codebase: the bulk of the work is one large XML file of translated strings, wrapped in a thin C# mod shell.
- Not affiliated with Mobius Digital / Annapurna. Game text is © Mobius
Digital, used under their Fan Content Policy. This project's own code and
translation are MIT (see
LICENSEandREADME.md). - Roadmap and phase status live in
PLAN.md. Update it as phases land.
How the mod works
It is an OWML mod that depends on xen-42's
Localization Utility / Interplanetary Polyglot (xen.LocalizationUtility, MIT).
The utility does all the heavy lifting; this mod just:
- Declares the dependency in
manifest.json:"dependencies": ["xen.LocalizationUtility"]. - In its
ModBehaviour.Start(), grabs the API and registers a new language:var api = ModHelper.Interaction.TryGetModApi<ILocalizationAPI>("xen.LocalizationUtility"); api.RegisterLanguage(this, "Slovenčina", "assets/Translation.xml"); - Ships the translated strings in
assets/Translation.xml.
No game files are needed to build the mod. The English source
Translation.xml is published by the utility repo and used as the template.
Slovak is a Latin-script language, so no AddLanguageFixer (that's for RTL
scripts) is needed. A custom font via AddLanguageFont (Unity 2019.4.27f1
asset bundle) is only required if the stock game font is missing Slovak glyphs —
to be verified during in-game testing (Phase 6/7).
Planned repo layout
Outer-Wilds-SK-Translation-Mod/
├── manifest.json # OWML manifest (uniqueName, deps, entry DLL)
├── SlovakTranslation.cs # ModBehaviour: registers the language
├── ILocalizationAPI.cs # interface copied from the utility
├── SlovakTranslation.csproj # build against OWML/game refs
├── SlovakTranslation.sln
├── assets/
│ └── Translation.xml # THE translation (English keys, Slovak values)
├── docs/
│ └── glossary.md # fixed SK terms for proper nouns
├── README.md · CLAUDE.md · PLAN.md · LICENSE
Model the C#/manifest scaffold on the community Czech mod
(shippy/outer-wilds-czech).
Translation conventions (important)
Translation.xml is a flat <TranslationTable_XML> of repeated <entry>
blocks, each with a <key> and a <value>. Rules:
- Never edit
<key>. It is the exact English source string the game matches on — changing it silently breaks that string's translation. - Translate only
<value>. Start from a copy of the English file (key == value) and replace each value with Slovak. - Preserve inline markup verbatim, including XML-escaped tags:
<color=orange>…</color>,<i>…</i>,</color>, and raw entities< > &. Translate the words, keep the tags. - Keep speaker prefixes (e.g.
POKE:,CLARY:) and any leading labels. - Use the glossary (
docs/glossary.md) for proper nouns and recurring terms so Nomai / the Eye / Ash Twin Project / etc. render identically everywhere. - Watch text length: Nomai text walls and UI have limited space — prefer concise phrasings where the English is terse.
Translation production: machine-assisted first pass (clean-room, no third-party text) followed by a Slovak-speaking review pass. Phase by category for shippable increments: UI/menus → dialogue/text walls → ship log.
Build & test
- Toolchain present locally:
dotnet 6.0.400,git. The game and the Outer Wilds Mod Manager are NOT installed on this machine — in-game testing (Phase 7) requires installing Outer Wilds + Mod Manager + OWML first. - Build:
dotnet build(the.csprojreferences OWML/game DLLs — see the Czech mod for the exact reference setup). - Test: load via the Mod Manager, select Slovenčina, and verify menus, dialogue, and the ship log render correctly (including diacritics á ä č ď é í ĺ ľ ň ó ô ŕ š ť ú ý ž).
Repo / process notes
- This is a standalone project repo (Gitea
Homer/Outer-Wilds-SK-Translation-Mod), independent of~/Agent/Systems. Changes here do not require a system changelog entry — unless we install system tooling (game, Mod Manager, a Unity version) to support it, in which case record that in~/Agentdocs as usual. - Commit as the Gitea identity (Homer admin@ecoposta.sk). Don't commit/push unless asked.