Skip to content

Localisation strings

Splintertree ships locale data across three layers:

  1. In-game template strings — item names, quest text, NPC broadcast text. Live in *_locale tables matched 1:1 to their English template (item_template_locale, quest_template_locale, creature_template_locale, …).
  2. GlueXML strings — login / character-select / cinematic UI strings the client renders before connecting to a realm.
  3. Web / launcher strings — Quasar i18n catalogue under splintertree-web-frontend/src/i18n/<locale>.json.

/admin/design/i18n-strings is a unified editor across all three.

In-game strings

  • List view filtered per entity (item / quest / creature / NPC text / page text / area trigger / world map).
  • Per-row: source English value (read-only template column), each active locale value editable.
  • Inline machine-translate via the chat-translate LLM as a starting draft; designer reviews and saves.
  • Per-locale completion percentage badges.

GlueXML strings

/admin/design/glue-strings (world.glue_strings):

  • Per-locale string editor.
  • Used at character-select and login screens; ships with the patch artefact.

Web / launcher strings

/admin/design/web-strings (auth.web_locale_string):

  • Per-locale string editor pointing at the Quasar catalogue.
  • Fallback chain: requested locale → en → key literal.
  • Hot-reload: edits apply on next browser reload without a redeploy.

Auto-translate workflow

For non-English locales, the editor offers a one-click "translate all missing" pass that runs the chat-translate model (see LLM admin) on every English row missing a translation. Outputs are flagged "auto" until a designer manually approves.