Upgrade Scripts Docs

#Localization

Every notification and all of the menu text comes from a locale file. Pick one with:

Config.Locale = 'en'

#Included languages

  • en - English
  • de - German
  • fr - French
  • es - Spanish
  • pt - Portuguese
  • nl - Dutch
  • pl - Polish
  • it - Italian
  • tr - Turkish

The files live in the resource's locales/ folder, which is not escrowed - you can edit any of them to match your server's tone, or fix a phrase you would word differently.

#Adding a language

  1. Copy locales/en.lua to locales/<code>.lua.
  2. Change the table name on the first line to your code, for example Locales['sv'] = {.
  3. Translate the values. Leave the keys alone.
  4. Set Config.Locale = 'sv' and restart.

New files are picked up automatically - there is nothing to register.

#Placeholders

Some strings contain %s, which is replaced at runtime with a value:

received      = 'You received: %s',
level_up      = 'Level up! You are now level %s (%s).',
buy_cooldown  = 'You can buy this again in %s',

Keep the same number of %s in your translation. You can move them around the sentence to suit the language's word order, as long as they stay in the same order relative to each other.

#Missing keys

Anything a translation does not define falls back to English, so a partial translation still works and never leaves blank text on screen. That also means you can delete a line you would rather not translate instead of copying the English into it.

#What is not translated

The admin panel is staff-facing and stays in English. Everything a player sees - notifications, shop wording, the referral panel, rankings, history and the level-up celebration - goes through the locale files.

Shop, item and loot case names come from your own Config.Shops and Config.Cases labels rather than the locale files, since those are yours to name.