Files
Outer-Wilds-SK-Translation-Mod/README.md
T
Jaroslav Beneš 575a819c73 Draw menu carons with the game's own typeface, per font rather than per label
The previous commit claimed this was fixed; it was not. It hooked
UIStyleManager.GetMenuFont, GetTranslatorFont, GetShipLogFont and
GetShipLogCardFont — all four of which are dead code with no callers anywhere in
Assembly-CSharp. Fonts are assigned straight onto the Text components in the
scene data, so nothing the mod did was ever consulted.

Three further things were wrong and are fixed here:

- The language check reflected into the Localization Utility for TryGetLanguage,
  which the installed version does not have, so it could only ever fail. It now
  uses the utility's own definition instead: custom languages are numbered past
  Language.TOTAL. No reflection, nothing to fail silently.
- The substitution was decided per label, from whether that label's own string
  needed a glyph, which left menus mixing two typefaces line by line. It is now
  decided per font: a face that cannot draw Slovak is replaced everywhere it is
  used. Faces that can — Futura PT for dialogue, Space Mono for the translator —
  are still never touched.
- The menu font was assumed to be Gill Sans MT. Logging the fonts actually in
  use showed the menus are Adobe - SerifGothicStd, which had been listed as a
  stylised face to leave alone. Gill Sans is the HUD prompts.

The replacement now prefers the game's own dynamic cut of the same typeface
(Adobe - SerifGothicStd_Dynamic and friends), matched by name prefix so bold
variants resolve too, which keeps the menu looking like vanilla. Bundled Cabin
is the fallback where the game ships no dynamic sibling, and the new
preferGameTypeface setting forces Cabin everywhere.

Hooks are Text.OnEnable, the Text.text setter, TextTranslation.SetLanguage and
scene load, plus a 2s sweep for menus built lazily after all of those.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 21:39:19 +02:00

80 lines
3.7 KiB
Markdown

# Outer Wilds — Slovenský preklad / Slovak Translation Mod
> **Neoficiálny slovenský preklad hry Outer Wilds** (základná hra + rozšírenie
> *Echoes of the Eye*). Pridáva do hry jazyk **Slovenčina**.
>
> *An unofficial Slovak (slovenčina) translation mod for Outer Wilds, covering
> the base game and the Echoes of the Eye DLC.*
**Stav / Status:** 🚧 **Work in progress** — the mod scaffold and translation are
being built. See [`PLAN.md`](PLAN.md) for the roadmap.
Outer Wilds officially ships in 12 languages; Slovak is not one of them. This mod
adds it as a new selectable language using the community localization framework —
no changes to the game's own files are required.
---
## How it works
The mod is a small [OWML](https://github.com/ow-mods/owml) mod that registers a
new language through **[Interplanetary Polyglot / Localization Utility](https://outerwildsmods.com/mods/interplanetarypolyglot/)**
(`xen.LocalizationUtility`). All translated text lives in a single
`assets/Translation.xml`; the utility swaps the game's strings for the Slovak ones
at runtime.
## Installation
1. Install the **[Outer Wilds Mod Manager](https://outerwildsmods.com/mod-manager/)**.
2. Install this mod through the Mod Manager. Its dependency **Interplanetary
Polyglot** (`xen.LocalizationUtility`) will be pulled in automatically.
3. Launch the game via the Mod Manager.
4. In **Settings → Language**, choose **Slovenčina**.
- Tip: the optional [Language Swap](https://outerwildsmods.com/mods/languageswap/)
mod lets you switch language in-game with `Ctrl+L`.
> Until the first release is published, the mod is not yet in the Mod Manager
> database — see [`PLAN.md`](PLAN.md) for how to build it from source.
## Contributing / Prispievanie
Translation fixes are very welcome — the goal is natural, consistent Slovak.
- **Report** mistranslations or awkward phrasing as an issue.
- **Edit** only the `<value>` of each entry in `assets/Translation.xml`.
**Never change the `<key>`** — it is the English identifier the game matches on.
- Preserve all inline formatting exactly, e.g. `&lt;color=orange&gt;…&lt;/color&gt;`,
`&lt;i&gt;`, and speaker prefixes like `POKE:`.
- Follow the terminology in `docs/glossary.md` so names (Nomai, the Eye, Ash Twin
Project, …) stay consistent across the whole game.
See [`CLAUDE.md`](CLAUDE.md) for the full conventions and repo layout.
## License & disclaimer
The **original mod code and the Slovak translation** in this repository are
released under the [MIT License](LICENSE).
The bundled fallback font in `assets/slovakfont` is
**[Cabin](https://github.com/impallari/Cabin)** by the Cabin Project Authors, used
under the **SIL Open Font License 1.1** (see
[`assets/Cabin-OFL.txt`](assets/Cabin-OFL.txt)). The game's own menu and HUD fonts
were never baked with Slovak caron glyphs, so those labels are redrawn with a font
that has them — preferably one of the game's own dynamic fonts, and Cabin only where
it ships none. See [`SlovakFont.cs`](SlovakFont.cs), and the `preferGameTypeface`
setting if you would rather have Cabin everywhere.
This is an **unofficial** fan project. It is **not affiliated with, approved by, or
endorsed by Mobius Digital or Annapurna Interactive.** *Outer Wilds*, its story,
dialogue, characters, and other assets are **© Mobius Digital / Annapurna
Interactive**; the underlying game text remains their property and is used here
under **Mobius Digital's Fan Content Policy**. The MIT license covers only this
project's own contributions, not the source material.
## Credits
- **Mobius Digital / Annapurna Interactive** — *Outer Wilds*.
- **[xen-42](https://github.com/xen-42)** — the Localization Utility /
Interplanetary Polyglot framework this mod is built on.
- The Outer Wilds modding community.