Localization

Localization

The site is fully internationalized with Inlang Paraglide JS . It ships with en-US (the base locale) and es-US.

Message overrides

A deployment can override any existing message key — and add new ones — with per-locale files in the config directory:

messages/en-US.json
messages/es-US.json
null

Keys map to message strings, with variables like {stream_name} and {streamer} filled from site.yaml. World display names are localized too: each entry in worlds.yaml provides a name per locale, which becomes a world_<key> message.

Locale routing

Locales use a URL-prefix strategy (e.g. /es-US/...). Because GitLab Pages is static and can't redirect on Accept-Language, first-visit language selection is done client-side in the browser, and viewers can switch languages from the header selector.

Adding a locale

Adding a locale is a template-level change (it's part of the Paraglide project, not the per-streamer config): add the locale to the Inlang project settings and provide its base message file, then deployments can override those keys via their own messages/<locale>.json.