# 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 [`LICENSE`](LICENSE) and [`README.md`](README.md)). - Roadmap and phase status live in [`PLAN.md`](PLAN.md). Update it as phases land. ## How the mod works It is an [OWML](https://github.com/ow-mods/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: 1. Declares the dependency in `manifest.json`: `"dependencies": ["xen.LocalizationUtility"]`. 2. In its `ModBehaviour.Start()`, grabs the API and registers a new language: ```csharp var api = ModHelper.Interaction.TryGetModApi("xen.LocalizationUtility"); api.RegisterLanguage(this, "Slovenčina", "assets/Translation.xml"); ``` 3. 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`](https://github.com/shippy/outer-wilds-czech)). ## Translation conventions (important) `Translation.xml` is a **flat** `` of repeated `` blocks, each with a `` and a ``. Rules: - **Never edit ``.** It is the exact English source string the game matches on — changing it silently breaks that string's translation. - **Translate only ``.** 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 `.csproj` references 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 `~/Agent` docs as usual. - Commit as the Gitea identity (Homer ). Don't commit/push unless asked.