Skip to content

Localization ​

Player-facing strings ​

All text the players see lives in locales/. Two languages ship by default:

  • locales/en.json
  • locales/fr.json

Pick the default in config.lua:

lua
Config.Lang = 'fr'

Each admin can override their own language in Preferences (the panel UI follows the admin's choice; what the players see follows Config.Lang on the server).

Adding a language ​

  1. Copy locales/en.json to locales/<code>.json (e.g. de.json).
  2. Translate the values. Keys must stay identical.
  3. Restart the resource.
  4. Set Config.Lang = 'de' (or pick it from Preferences).

The panel reads available locales at startup and lists them in the language dropdown.

What's translatable ​

Every visible label in the panel, every notification, every prompt, every job-template name. Things that stay in code (technical job names, item names) are not translated — they're identifiers.

Templates ​

Job templates (in modules/editable/templates.lua) reference label keys (labelKey = 'template.sheriff.name') instead of hard-coded strings. Add the matching key to every locale file you support.

Missing keys ​

If a key is missing in the chosen language, the server falls back to the English value. If it's missing in English too, the raw key is shown — that's the signal you forgot a translation.

Released under a commercial license. Documentation released under MIT.