locales/<code>.json. The language comes from locale in config/core.lua. Missing keys fall back to English.
Locale holds core messages only, such as kick and ban texts. Your resources keep their own translations.
Get
string
required
Dotted path, such as
identity.bannedUntil.table
Values for
{name} placeholders.string
The key itself when no locale has it.
GetCode
'en'.
Adding a language
Copylocales/en.json to locales/<code>.json, translate the values, and set locale = '<code>' in config/core.lua.