Skip to main content
Every text players see can be translated: all desktop apps, the document cards, notifications and server messages. Included languages: English (en) and German (de). Switch with Config.Locale = 'de'. A language consists of two files with the same code:
Copy locales/ui/en.json to locales/ui/de.json and translate the values. Keep the keys and the {placeholders}. 2. Copy locales/en.lua to locales/de.lua, change Locale['en'] to Locale['de'] and translate the values. Keep the keys and the %s / %d placeholders in the same order. 3. Set Config.Locale = 'de' in config/config.lua and restart the resource. No rebuild is needed.

Date and money format

Money in server messages (locales/<code>.lua) is written as $%s. Change the $ there too if your server uses another currency.
You don’t have to translate everything at once: any key missing from your files falls back to English. The UI’s English texts are also built into the interface, so even an empty de.json works.Lists, such as the typing test sentences (games.typing.sentences), the Command Prompt help and the news articles (web.news.articles), can be translated like any other value.
The JSON file must stay valid JSON (double quotes, no trailing commas). If it can’t be read, the console shows locales/ui/de.json is not valid JSON and the PC uses English. Content from the config files (license names and questions, document types, job names, categories, phone texts) is translated in those config files.