monogame-localization
Installation
SKILL.md
MonoGame Localization Implementation Guide
This skill covers JSON-based localization loaded at runtime (bypassing the Content Pipeline) and SpriteFont configuration for multilingual text rendering. For API signatures and ready-to-copy patterns, read references/localization.md.
Architecture Overview
Modern MonoGame localization avoids .resx files and the Content Pipeline for translation strings. Instead:
- Translation files are plain JSON files shipped alongside the game binary (e.g.,
Content/Localization/es.json). - Runtime loading uses
System.Text.Json— any player can open and edit the file with a text editor. - A central
Localizerservice handles culture switching and string lookup. - SpriteFonts must declare the Unicode ranges for every character the active language uses — this is the most common source of runtime crashes in multilingual games.
JSON File Format
Use simple flat key/value objects per language file: